COPY

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

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

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
  • PostgreSQL Copy - 2023 年 6 月,Shivayan Mukherjee / SQL Server Central 的博客文章

分类

DML, SQL 命令

另请参阅

file_fdw, pg_bulkload

反馈

在此处提交关于“COPY”的任何评论、建议或更正 此处