复制

用于批量导入/导出数据的 SQL 命令

COPY 是一个用于将数据批量导入/导出到文件或(从 PostgreSQL 9.3 开始)程序的 DML 命令。

COPY 一直存在于 PostgreSQL 中。

限制

COPY 仅限于主机操作系统上运行 PostgreSQL 的操作系统用户允许的操作。

PostgreSQL 11 开始,COPY 可供超级用户和以下 预定义角色 的成员使用

  • pg_read_server_files
  • pg_write_server_files
  • pg_execute_server_program

PostgreSQL 10 及更早版本中,COPY 的使用仅限于超级用户。

进度报告

PostgreSQL 14 开始,进度报告视图 pg_stat_progress_copy 提供有关 COPY 操作进度的信息。

psql

psql 提供了 斜杠命令 \copy,它允许对客户端系统执行 COPY 操作,克服了 SQL COPY 命令仅限于本地服务器的限制。

有关更多详细信息,请参阅 psql 文档\copy

变更历史

开发中

示例

COPY 的基本用法示例

postgres=# COPY foo FROM STDIN;
Enter data to be copied followed by a newline.
End with a backslash and a period on a line by itself, or an EOF signal.
>> 1
>> 2
>> 3
>> 4
>> \.
COPY 4
  • PostgreSQL 文档: COPY

分类

DMLSQL 命令

另请参阅

file_fdwpg_bulkload

反馈

请提交您对“COPY”的任何评论、建议或更正 在此