本文介绍如何通过\COPY命令,将本地的文本文件数据导入云原生数据仓库AnalyticDB PostgreSQL版数据库。

注意事项

由于\COPY命令需要通过Master节点进行串行数据写入处理,因此无法实现并行写入大批量数据。如果要进行大量数据的并行写入,请使用基于OSS的数据导入方式。通过OSS导入数据,请参见使用OSS外表高速导入OSS数据

/COPY与COPY命令的区别

  • 相同点:

    /COPY与COPY命令语法上没有任何区别。更多关于两种命令的使用方法,请参见COPY

  • 不同点:
    • /COPY为psql的操作指令;COPY为数据库指令。
    • /COPY命令支持操作FILE、STDIN和STDOUT文件;COPY命令仅支持操作STDIN和STDOUT文件,不支持操作FILE文件。
      说明 COPY命令需要SUPERUSER权限才支持操作FILE文件,目前AnalyticDB PostgreSQL不提供SUPERUSER权限。

语法

\COPY导入数据的语法如下:

            \COPY table [(column [, ...])] FROM {'file' | STDIN}
            [ [WITH] 
            [OIDS]
            [HEADER]
            [DELIMITER [ AS ] 'delimiter']
            [NULL [ AS ] 'null string']
            [ESCAPE [ AS ] 'escape' | 'OFF']
            [NEWLINE [ AS ] 'LF' | 'CR' | 'CRLF']
            [CSV [QUOTE [ AS ] 'quote'] 
            [FORCE NOT NULL column [, ...]]
            [FILL MISSING FIELDS]
            [[LOG ERRORS [INTO error_table] [KEEP] 
            SEGMENT REJECT LIMIT count [ROWS | PERCENT] ]
说明 AnalyticDB PostgreSQL支持使用JDBC执行COPY语句,JDBC中封装了CopyIn方法,具体信息,请参见Interface CopyIn

示例

 \COPY test1 FROM '/path/to/localfile';

相关文档

使用\COPY命令导出数据到本地