一、postgresql数据导出
将pg数据的查询结果导出到excel需要分三步:
第一步:导出到csv
1 |
|
第二步:解决中文乱码
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, 2, 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, 2, 3]
注意事项
- 文件路径:
\copy在客户端运行,路径为你本地电脑的路径。
- 中文乱码:若 Excel 打开 CSV 出现中文乱码,请先用文本编辑器(如 Notepad++、VS Code)将 CSV 编码转换为
UTF-8 with BOM或GBK。 [1]