暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

云和恩墨MogDB数据库扩展-file_fdw

原创 由迪 2023-04-03
246

file_fdw

file_fdw模块提供了外部数据封装器file_fdw,可以用来在服务器的文件系统中访问数据文件。数据文件必须是COPY FROM可读的格式;具体可参照COPY语句的介绍。访问这样的数据文件当前只是可读的。当前不支持对该数据文件的写入操作。

当前MogDB会默认编译file_fdw,在initdb的时候会在pg_catalog schema中创建该插件。

使用file_fdw创建的外部表可以有下列选项:

  • filename

    指定要读取的文件,必需的参数,且必须是一个绝对路径名。

  • format

    远端server的文件格式,支持text/csv/binary三种格式,和COPY语句的FORMAT选项相同。

  • header

    指定的文件是否有标题行,与COPY语句的HEADER选项相同。

  • delimiter

    指定文件的分隔符,与COPY的DELIMITER选项相同。

  • quote

    指定文件的引用字符,与COPY的QUOTE选项相同。

  • escape

    指定文件的转义字符,与COPY的ESCAPE选项相同。

  • null

    指定文件的null字符串,与COPY的NULL选项相同。

  • encoding

    指定文件的编码,与COPY的ENCODING选项相同。

  • force_not_null

    这是一个布尔选项。如果为真,则声明字段的值不应该匹配空字符串(也就是, 文件级别null选项)。与COPY的FORCE_NOT_NULL选项里的字段相同。

img注意:

  • file_fdw不支持COPY的OIDS和FORCE_QUOTE选项。
  • 注意这些选项只能为外部表或它的字段声明,不是在file_fdw外部数据封装器的选项里,也不是在使用该封装器的服务器或用户映射的选项里。
  • 修改表级别的选项需要系统管理员权限,因为安全原因:只有系统管理员用户能够决定读哪个文件。
  • 对于一个使用file_fdw的外部表,EXPLAIN显示要读取的文件名。除非指定了COSTS OFF,否则也显示文件大小(字节计)。

使用file_fdw

  • 使用file_fdw需要指定要读取的文件,请先准备好该文件,并让数据库有读取权限。

  • 创建服务器对象:CREATE SERVER

  • 创建用户映射:CREATE USER MAPPING

  • 创建外表:CREATE FOREIGN TABLE

    注意:

    • 外表的表结构需要与指定的文件的数据保持一致。
    • 对外表做查询操作,写操作不被允许。
  • 删除外表:DROP FOREIGN TABLE

  • 删除用户映射:DROP USER MAPPING

  • 删除服务器对象:DROP SERVER

注意事项

  • 不支持DROP EXTENSION file_fdw操作。

MogDB 是云和恩墨基于opengauss 企业级数据库

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论