总述
- copy命令用于在postgreSql表和标准文件系统直接传输数据。
- copy命令让PostgreSQL 服务器直接读写文件,因此文件必须位于服务器本地或能被直接访问。
- 该命令仅能在表上使用,不能用于视图;
示例
拷贝表至文件
1、使用空格作为字段直接的分隔
COPY test_table TO 'save_file_folder/test_data.copy' WITH DELIMITER ' ';
2、二进制文件
COPY test_table TO 'save_file_folder/test_data.dat' WITH binary;
3、导出csv文件
COPY test_table TO 'save_file_folder/test_data.csv' WITH DELIMITER ',' CSV HEADER ENCODING 'utf-8';
4、导出查询结果到文件,支持版本10及10以上
COPY (SELECT id, name, age FROM test_table) TO 'save_file_folder/test_data.csv' WITH DELIMITER ',' CSV HEADER ENCODING 'utf-8';
拷贝表至控制台
使用竖线(|)作为字段直接的分隔符
COPY test_table