php使用pg中copy命令,PGSQL COPY命令导入/导出数据

PGSQL中可使用COPY命令来导入/导出数据,这里以CSV文件为例。

导出数据:

SQL Shell执行:

COPY table_name (col1,col2,col3) TO 'path_name.csv' CSV HEADER;

如果表格使用了分表,需使用select获取数据:

COPY (select col1,col2,col3 from table_name) TO 'path_name.csv' CSV HEADER;

导入数据:

COPY table_name (col1,col2,col3) FROM 'path_name.csv' delimiter ',' csv header;

注意:

1. 导入的CSV文件第一行为表格列字段(逗号分隔),若缺失,如果命令中指定了字段,那么仍然能导入成功,但第一行数据会丢失。

2. COPY命令默认从服务器端寻找文件,若文件在客户端,需使用\COPY,如:

\COPY table_name (col1,col2,col3) TO 'path_name.csv' CSV HEADER

另外,\COPY只能在命令行中执行,它是变相调用COPY FROM STDIN,而COPY可作为SQL语句执行。