Ubuntu 下使用 pgAdmin 导出数据的实用步骤
一 导出整库或模式为 SQL 脚本或归档
- 在左侧树形导航中,右键目标对象:
- 导出整库:右键数据库 → Backup…
- 导出某个 Schema:右键 Schema → Backup…
- 在弹窗中设置关键选项:
- Format:选择
- Plain(纯文本 .sql,便于审阅与跨平台迁移)
- Custom(自定义归档 .backup,便于后续选择性恢复)
- Tar(.tar,归档格式)
- Filename:选择本机保存路径,例如 /home/ubuntu/backup/mydb.sql
- 如需仅导出结构或仅导出数据,可在“选项/Dump options”里勾选
- Only schema(仅结构,对应 pg_dump 的 -s)
- Only data(仅数据,对应 -a)
- 点击 Backup 开始导出,完成后在指定路径查看文件。
二 导出单表或查询结果到 CSV
- 导出整表为 CSV(图形界面)
- 在左侧展开到目标表,右键表 → Export…
- 选择格式 CSV,勾选 Header(列名)
- 指定保存路径,例如 /home/ubuntu/export/mytable.csv,点击 Export 开始。
- 导出查询结果或自定义 SQL 为 CSV(SQL 编辑器)
- 打开 Query Tool,执行例如:SELECT * FROM your_table WHERE …
- 在结果网格上方或菜单选择 File → Export,保存为 CSV 并设置分隔符、编码与包含列头。
- 说明:CSV 适合数据分析与跨系统交换;若需高效迁移/选择性恢复,优先使用上一节的 Custom/Tar 归档。
三 常用导出选项与对应命令示例
- 仅导出结构:在 Backup 对话框勾选 Only schema,等价于命令行:pg_dump -U 用户名 -d 数据库 -s -f schema.sql
- 仅导出数据:在 Backup 对话框勾选 Only data,等价于:pg_dump -U 用户名 -d 数据库 -a -f data.sql
- 导出特定表:在 Backup 对话框的“对象”里仅勾选该表;等价于:pg_dump -U 用户名 -d 数据库 -t 表名 -f table.sql
- 导出为自定义归档(便于后续用 pg_restore 选择性恢复):Format 选 Custom,等价于:pg_dump -U 用户名 -d 数据库 -F c -f backup.custom
- 导出特定 Schema:在对象里仅勾选该 Schema;等价于:pg_dump -U 用户名 -d 数据库 -n 模式名 -f schema.sql。
四 常见问题与排错要点
- 权限不足:确保用于连接的用户对被导出的库/表/模式具备 SELECT 等必要权限。
- 路径与权限:在 Ubuntu 上,导出到系统目录(如 /root、/usr)可能因权限被拒绝,建议选择用户目录(如 /home/用户名)。
- 磁盘空间:大库/大表导出前确认磁盘剩余空间充足。
- 编码一致:导出与导入两端保持一致的 字符编码(如 UTF8),避免乱码。
- 服务端导出限制:使用 SQL 的 COPY … TO ‘/path’ 会将文件写到数据库服务器文件系统;若在 pgAdmin 的查询结果导出为 CSV,文件写入的是你本机(客户端)。