PgAdmin在Debian上如何迁移数据库
导读:在 Debian 上使用 pgAdmin 迁移 PostgreSQL 数据库的实用步骤 一 迁移方式概览 使用 pgAdmin 图形界面执行备份与恢复,适合大多数单机或中小规模迁移。 使用 pg_dump / pg_restore / p...
在 Debian 上使用 pgAdmin 迁移 PostgreSQL 数据库的实用步骤
一 迁移方式概览
- 使用 pgAdmin 图形界面执行备份与恢复,适合大多数单机或中小规模迁移。
- 使用 pg_dump / pg_restore / psql 命令行,适合自动化、脚本化和大对象(如大表、索引)迁移。
- 使用 pgloader 做异构迁移或零停机近实时同步(如从 MySQL/Oracle 到 PostgreSQL)。
- 若迁移的是 pgAdmin 自身的配置与元数据(而非业务库),需迁移其配置与数据目录。以上方式均为在 Debian 上常见且可行的路径。
二 使用 pgAdmin 图形界面迁移(适合快速上手)
- 备份源库
- 在 pgAdmin 左侧连接到源 PostgreSQL 服务器,右键目标数据库 → Backup…。
- 选择格式:
- Plain SQL(便于跨版本、可读性强);
- Custom/Tarball(自定义归档,保留依赖与权限,便于大对象)。
- 指定输出路径与文件名,开始备份。
- 准备目标库
- 在目标 Debian 服务器上,使用 psql 创建空库(若使用自定义归档,通常只需建库,无需对象定义):
- psql -U postgres -c “CREATE DATABASE dbname; ”
- 在目标 Debian 服务器上,使用 psql 创建空库(若使用自定义归档,通常只需建库,无需对象定义):
- 恢复到目标库
- 在 pgAdmin 中连接到目标服务器,右键目标数据库 → Restore…,选择上一步生成的备份文件,按向导执行。
- 验证
- 在目标库执行抽样查询、校验行数与关键业务数据,确认迁移成功。
三 使用命令行迁移(适合自动化与大规模)
- 逻辑备份与恢复(通用、跨版本友好)
- 备份:
- pg_dump -h 源主机 -U 用户名 -p 端口 -F c -b -v -f /path/backup.dump 数据库名
- 恢复(先建空库):
- psql -U postgres -c “CREATE DATABASE dbname; ”
- pg_restore -h 目标主机 -U 用户名 -p 端口 -d dbname /path/backup.dump
- 备份:
- 全实例迁移(含角色、表空间等)
- 备份:pg_dumpall -U postgres -f /path/all_databases.sql
- 恢复:psql -U postgres -f /path/all_databases.sql
- 说明
- 自定义归档格式 -F c 更适合含大对象与复杂依赖的库;恢复前确保目标库已存在且编码/时区等参数一致。
四 使用 pgloader 进行异构或近实时迁移(可选)
- 安装
- sudo apt-get install pgloader
- 配置示例(从 MySQL 到 PostgreSQL)
- 新建文件 mysql_to_pg.load:
- LOAD DATABASE
- FROM mysql://user:pass@host/db
- INTO postgresql://user:pass@host/db
- LOAD DATABASE
- 新建文件 mysql_to_pg.load:
- 执行
- pgloader mysql_to_pg.load
- 适用场景
- 异构数据库迁移、零停机近实时同步、自动类型映射与转换。
五 迁移 pgAdmin 自身的配置与元数据(如需要)
- 适用场景
- 将 pgAdmin 4 的服务器连接、作业、偏好等从一台 Debian 主机迁移到另一台。
- 操作步骤
- 备份目录:/etc/pgadmin 与 /var/lib/pgadmin(包含配置与用户数据)。
- 使用 rsync/scp 复制到新主机相同路径。
- 在新主机检查并更新 /etc/pgadmin/pgadmin.conf 中的监听地址、端口等。
- 启动或重启 pgAdmin 服务,登录验证连接与历史配置是否完整。
六 关键注意事项与常见问题
- 版本兼容
- 跨大版本(如 14 → 15)优先采用 pg_dump/pg_restore 逻辑迁移;若用物理方式,需按官方流程使用 pg_upgrade。
- 扩展与依赖
- 目标库需预装相同扩展(如 PostGIS、pgcrypto 等),权限与所有者需与目标库用户匹配。
- 安全性
- 跨主机迁移建议使用 SSL/TLS(sslmode=require),避免明文传输。
- 大对象与性能
- 含 LOB/BLOB 的库优先使用 自定义归档 与 pg_restore,并分批校验。
- 验证与回滚
- 迁移后做数据一致性校验(抽样对比、计数、关键业务回归),并保留备份以便快速回滚。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: PgAdmin在Debian上如何迁移数据库
本文地址: https://pptw.com/jishu/749001.html
