centos

centos使用pgadmin进行数据迁移

小樊
41
2025-10-05 03:45:32
栏目: 智能运维

一、准备工作

  1. 安装pgAdmin:在CentOS服务器上,通过包管理器(如yum)安装pgAdmin(例如执行sudo yum install pgadmin4),启动后通过浏览器访问http://localhost:5050(默认端口)登录。
  2. 连接数据库服务器:在pgAdmin左侧导航栏点击“Servers”→右键选择“Create”→“Server…”,在“General”标签页输入服务器名称(如“SourceDB”“TargetDB”);在“Connection”标签页填写源/目标数据库的主机地址(如localhost)、端口(默认5432)、维护数据库(如postgres)、用户名(如postgres)和密码,点击“Save”完成连接。
  3. 备份数据(可选但强烈建议):迁移前对源数据库进行完整备份,可使用pg_dump命令(例如pg_dump -U postgres -d old_db -f /path/to/old_db_backup.sql),防止迁移过程中数据丢失。

二、数据导出(从源数据库到文件)

  1. 选择源数据库:在pgAdmin左侧导航栏展开已连接的源数据库服务器,点击需要迁移的数据库(如old_db)。
  2. 启动导出向导:右键点击数据库名称→选择“Export Data”(或顶部菜单栏“File”→“Export”→“To File…”)。
  3. 配置导出参数
    • 导出范围:选择“Entire database”(整个数据库)或特定表(如勾选需要迁移的表);
    • 导出格式:根据需求选择(SQL格式保留结构和数据,适合完整迁移;CSV格式适合与电子表格兼容);
    • 高级设置:若选择CSV,需设置分隔符(如,)、文本限定符(如")、是否包含表头等。
  4. 执行导出:点击“OK”按钮,选择文件保存路径(如/path/to/exported_data.sql/path/to/data.csv),等待导出完成。

三、数据导入(从文件到目标数据库)

  1. 选择目标数据库:在pgAdmin左侧导航栏展开已连接的目标数据库服务器,点击需要导入数据的空数据库(如new_db)。
  2. 启动导入向导:右键点击目标数据库名称→选择“Import Data”(或顶部菜单栏“File”→“Import”→“From File…”)。
  3. 配置导入参数
    • 选择文件:浏览并选择之前导出的数据文件(如/path/to/exported_data.sql/path/to/data.csv);
    • 格式匹配:确保导入格式与导出格式一致(如导出为SQL则选择“SQL”格式);
    • 权限与选项:确认目标数据库用户有足够权限(如postgres用户),若导入SQL文件需勾选“Execute in transaction”(事务执行,确保数据一致性)。
  4. 执行导入:点击“OK”按钮,等待导入完成。导入完成后,可在目标数据库中查看表结构和数据是否完整。

四、常见问题及解决方法

  1. 连接失败:检查服务器地址、端口、用户名、密码是否正确,确保数据库服务器正在运行(可通过systemctl status postgresql命令查看),网络连接是否正常(如防火墙是否允许端口访问)。
  2. 权限不足:使用具有足够权限的用户(如postgres超级用户)进行操作,或联系数据库管理员获取相应权限(如GRANT ALL PRIVILEGES ON DATABASE new_db TO your_user;)。
  3. 数据类型不匹配:导出前检查源数据与目标表的数据类型是否一致(如CSV中的字符串不能导入到整数类型的字段),必要时修改目标表结构(如ALTER TABLE table_name ALTER COLUMN column_name TYPE VARCHAR(100);)。
  4. 主键冲突:若目标表已存在相同主键数据,可使用PostgreSQL的ON CONFLICT语法处理(如INSERT INTO table_name (id, name) VALUES (1, 'New Name') ON CONFLICT (id) DO UPDATE SET name = 'New Name';),避免导入失败。

0
看了该问题的人还看了