postgresql导入导出大文件 copy命令

在数据体量较大的情况下,可以使用copy命令将数据导入或导出postgresql数据库。

导入postgresql

导入数据库是用 copy from,具体命令如下:
copy tablename from file CSV HEADER DELIMITER ',' ENCODING 'GBK';

参数说明:csv 表示文件格式

                 header 表示文件第一行为字段名,导入数据库时忽略首行

                 delimiter 表示字段分割方式,示例是以逗号分割

                 encoding 表示文件编码方式,示例是 GBK 编码,(默认为utf-8)

从postgresql导出

导出数据时用 copy to,具体命令如下:

copy tablename(a,b) to filename delimiter ',' csv header encoding 'GBK';

参数说明:与导入的参数一致

如果需要将查询结果导出,则:

copy (select * from tablename) to filename delimiter ',' csv header encoding 'GBK';

注意点:1)如果需要把表中所有数据都导出,则不需要注明字段名

              2)数据库用户需要有写文件的权限,postgresql默认的有权限路径是在/tmp 下


你可能感兴趣的:(postgresql)