首页 > 其他分享 >openGauss file_fdw

openGauss file_fdw

时间:2024-04-29 16:57:18浏览次数:21  
标签:选项 文件 fdw 指定 file openGauss COPY

file_fdw

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

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

file_fdw对应的server和外表只允许数据库的初始用户或开启运维模式时的运维管理员创建。

使用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选项里的字段相同。

说明:

  • file_fdw不支持COPY的OIDS和 FORCE_QUOTE选项。
  • 这些选项只能为外部表或外部表的字段声明,不是file_fdw的选项,也不是使用file_fdw的服务器或用户映射的选项。
  • 修改表级别的选项需要系统管理员权限。因为安全原因,只有系统管理员能够决定读取的文件。
  • 对于一个使用file_fdw的外部表,EXPLAIN可显示要读取的文件名和文件大小(单位:字节)。 指定了COSTS OFF关键字之后,不显示文件大小。

使用file_fdw

  • 创建服务器对象:CREATE SERVER

  • 创建用户映射:CREATE USER MAPPING

  • 创建外表:CREATE FOREIGN TABLE

    说明:

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

  • 删除用户映射:DROP USER MAPPING

  • 删除服务器对象:DROP SERVER

注意事项

  • 使用file_fdw需要指定要读取的文件,请先准备好该文件,并授予数据库对该文件的读取权限。
  • 不支持DROP EXTENSION file_fdw操作。

详情查看:https://opengauss.org

详情查看:https://docs-opengauss.osinfra.cn

标签:选项,文件,fdw,指定,file,openGauss,COPY
From: https://www.cnblogs.com/techbing/p/18165800

相关文章

  • openGauss Foreign-Data-Wrapper
    ForeignDataWrapperopenGauss的FDW(ForeignDataWrapper)可以实现各个openGauss数据库及远程服务器(包括数据库、文件系统)之间的跨库操作。目前支持的远程数据库类型包括Oracle、Mysql(MariaDB)、openGauss(postgres_fdw)、file_fdw、dblink。用于Oracle的外部数据包装器mysql_......
  • openGauss MOT-SILO增强特性
    MOTSILO增强特性SILO[对比:磁盘与MOT]凭借其基本算法流程,优于我们在研究实验中测试的许多其他符合ACID的OCC算法。然而,为了使SILO成为产品级机制,我们必须用许多在最初设计中缺失的基本功能来增强它,例如:新增对交互式事务的支持,其中事务的SQL运行在客户端实现,而不是作为服务器端......
  • openGauss dblink
    dblinkdblink是一个可以在一个openGauss数据库会话中连接到其它openGauss数据库的工具,同libpq支持的连接参数一致,可参考链接参数。openGauss默认不编译dblink,下面依次介绍如何编译和使用dblink。编译dblink当前dblink的源码放在contrib/dblink目录中。在编译安装完openGauss数......
  • openGauss MOT监控
    MOT监控监控的所有语法支持基于openGauss的FDW表,包括下面的表或索引大小。此外,还存在用于监控MOT内存消耗的特殊函数,包括MOT全局内存、MOT本地内存和单个客户端会话。表和索引大小可以通过查询pg_relation_size来监控表和索引的大小。例如:数据大小selectpg_relation_size('......
  • openGauss MOT检查点概念
    MOT检查点概念在openGauss中,检查点是事务序列中一个点的快照,在该点上,可以保证堆和索引数据文件已经同步了检查点之前写入的所有信息。在执行检查点时,所有脏数据页都会刷新到磁盘,并将一个特殊的检查点记录写入日志文件。数据直接存储在内存中。MOT没有像openGauss那样存储数据,因......
  • openGauss MOT管理
    MOT管理下面介绍MOT管理。MOT持久性MOT恢复MOT复制和高可用MOT内存管理MOTVACUUM清理MOT统计MOT监控MOT错误消息详情查看:https://opengauss.org详情查看:https://docs-opengauss.osinfra.cn......
  • openGauss MOT恢复
    MOT恢复MOT恢复的主要目标是在有计划停机(例如维护)或计划外崩溃(例如电源故障后)后,将数据和MOT引擎恢复到一致状态。MOT恢复是随着openGauss数据库其余部分的恢复而自动执行的,并且完全集成到openGauss恢复过程(也称为冷启动)。MOT恢复包括两个阶段:检查点恢复:必须通过将数据加载到内......
  • openGauss MOT恢复概念
    MOT恢复概念MOT恢复模块提供了恢复MOT表数据所需的所有功能。恢复模块的主要目标是在计划(例如维护)关闭或计划外(例如电源故障)崩溃后,将数据和MOT引擎恢复到一致的状态。openGauss数据库恢复(有时也称为冷启动)包括MOT表,并且随着数据库其余部分的恢复而自动执行。MOT恢复模块无缝、全......
  • openGauss MOT关键技术
    MOT关键技术MOT的关键技术如下:内存优化数据结构:以实现高并发吞吐量和可预测的低延迟为目标,所有数据和索引都在内存中,不使用中间页缓冲区,并使用持续时间最短的锁。数据结构和所有算法都是专门为内存设计而优化的。免锁事务管理:MOT在保证严格一致性和数据完整性的前提下,采用......
  • openGauss MOT复制和高可用
    MOT复制和高可用由于MOT集成到openGauss中,并且使用或支持其复制和高可用,因此,MOT原厂功能即支持同步复制和异步复制。openGaussgs_ctl工具用于可用性控制和openGauss实例操作。这包括gs_ctl切换、gs_ctl故障切换、gs_ctl构建等等。有关更多信息,请参见《工具与命令参考》。配......