一、postgresql数据导出
将pg数据的查询结果导出到excel需要分三步:
第一步:导出到csv
|---|-------------------------------------------------------------------------------------|
| 1 | \COPY (``select * ``from * ``where *) ``to /tmp/test_data.csv CSV HEADER; |
第二步:解决中文乱码
iconv -f utf-8 -t gb18030 /tmp/test_data.csv -o /tmp/test_data_gbk.csv
第三步:另存为excel
如果包含身份证号,可能存在精度丢失,选中之后单元格格式设置为文本,另存为excel即可。
pg_dump 是用于整库或表结构备份的工具(生成 SQL 脚本),无法直接导出 Excel 。若需获取 Excel 表格,正确做法是使用 psql 的 \copy 命令导出为 CSV 文件,再用 Excel 打开。 [1](https://www.atlassian.com/data/sql/how-to-export-data-to-csv-or-excel "1"), [2](https://comate.baidu.com/zh/page/2c37286weoh "2"), [3](https://www.postgresql.org/message-id/DB4C59C6-9FF6-48F9-B82E-12316D8E9B2B%40gmail.com "3")
下面是通过命令行直接导出可被 Excel 读取的 CSV 文件的方法:
常用导出方法
- 登录
psql交互界面后执行:
\copy (SELECT * FROM tablename) TO 'path/to/file.csv' WITH CSV HEADER;
- 或者直接在系统终端一行命令导出:
psql -U username -d dbname -c "\copy (SELECT * FROM tablename) TO 'file.csv' WITH CSV HEADER"[1](https://www.reddit.com/r/SQL/comments/7wx1bv/how_to_copy_data_from_postgresql_to_excel_without/ "1"), [2](https://neon.com/postgresql/tutorial/export-postgresql-table-to-csv-file "2"), [3](https://blog.csdn.net/weixin_39540651/article/details/129499061 "3")
注意事项
- 文件路径 :
\copy在客户端运行,路径为你本地电脑的路径。
- 中文乱码 :若 Excel 打开 CSV 出现中文乱码,请先用文本编辑器(如 Notepad++、VS Code)将 CSV 编码转换为
UTF-8 with BOM或GBK。 [1](https://neon.com/postgresql/tutorial/export-postgresql-table-to-csv-file "1")