使用pgAdmin在CentOS上进行PostgreSQL数据库导入导出
一、准备工作
-
安装pgAdmin
在CentOS上通过包管理器安装pgAdmin(以CentOS 7/8为例):
sudo yum install epel-release -y
sudo yum install pgadmin4 -y
安装完成后,启动pgAdmin服务并通过浏览器访问(默认地址:http://<服务器IP>:5050
),使用初始管理员账号(如admin@pgadmin.org
)登录。
-
连接服务器
登录pgAdmin后,点击左侧“Servers”→“Create”→“Server”,填写源数据库和目标数据库的连接信息(主机名、端口、用户名、密码),保存后即可连接。
二、数据导出(图形界面操作)
-
导出整个数据库
- 在pgAdmin左侧导航栏中,展开“Servers”→源服务器→“Databases”,右键点击需要导出的数据库。
- 选择“Backup…”(备份),弹出备份对话框。
- 配置选项:
- Filename:选择导出文件的保存路径(如
/var/lib/pgadmin/export/db_backup.sql
)。
- Format:选择导出格式(Custom/Directory格式支持压缩和选择性导出;Plain格式为SQL脚本,兼容性最强)。
- Options:勾选“Only schema”(仅导出结构)或“Only data”(仅导出数据),或保留默认(结构和数据均导出)。
- 点击“Backup”按钮,等待导出完成。
-
导出单个表或部分数据
- 展开目标数据库→“Schemas”→“Public”→“Tables”,右键点击需要导出的表。
- 选择“Backup…”,后续步骤与导出整个数据库一致,但仅生成该表的备份文件。
- 若需导出部分数据,可通过Query Tool(查询工具)编写SQL语句筛选数据,再通过“Export”功能(见下文)导出结果。
三、数据导入(图形界面操作)
-
导入整个数据库
- 在pgAdmin左侧导航栏中,展开“Servers”→目标服务器→“Databases”,右键点击目标数据库(需提前创建)。
- 选择“Restore…”(恢复),弹出恢复对话框。
- 配置选项:
- Filename:选择之前导出的备份文件路径(如
/var/lib/pgadmin/export/db_backup.sql
)。
- Format:选择与导出时一致的格式(如Custom/Directory或Plain)。
- Options:勾选“Pre-data”、“Post-data”等选项(默认全选,确保结构和数据均导入)。
- 点击“Restore”按钮,等待导入完成。
-
导入单个表或部分数据
- 展开目标数据库→“Schemas”→“Public”→“Tables”,右键点击需要导入数据的表。
- 选择“Import/Export…”(导入/导出),弹出对话框。
- 配置选项:
- Mode:选择“Import”(导入)。
- Format:选择文件格式(如CSV、SQL)。
- Filename:选择导入文件的路径(如
/var/lib/pgadmin/import/table_data.csv
)。
- Options:根据文件格式调整(如CSV格式需勾选“Header”表示包含列名,分隔符设为“,”)。
- 点击“OK”按钮,开始导入数据。
四、注意事项
-
权限问题
- 确保pgAdmin运行的用户(如
postgres
)对导出/导入路径有读写权限(可通过chmod
命令修改权限)。
- 导入数据库时,目标数据库需提前创建(可通过
CREATE DATABASE dbname;
命令创建)。
-
数据一致性
- 导出/导入大型数据库时,建议在低峰期操作,避免影响线上业务。
- 使用pgAdmin的“Backup”/“Restore”功能时,可勾选“Maintain transaction integrity”(保持事务完整性),确保数据一致性。
-
格式兼容性
- Custom/Directory格式(
.dump
或目录)支持压缩和增量备份,适合大型数据库;Plain格式(.sql
)为纯文本,兼容性最强,但体积较大。
- 导入时需确保格式与导出时一致,否则可能报错。
-
跨平台迁移
- 若跨平台(如Windows→CentOS)迁移,需注意文件路径分隔符(Windows用
\
,CentOS用/
),建议在导出时统一使用/
。
通过以上步骤,即可在CentOS系统上使用pgAdmin完成PostgreSQL数据库的导入导出操作。如需更高效的批量操作,可结合命令行工具(如pg_dump
、psql
),但pgAdmin的图形界面更适合不熟悉命令行的用户。