Debian中PostgreSQL数据迁移步骤
导读:Debian系统中PostgreSQL数据迁移的常见步骤 一、准备工作 安装PostgreSQL:在源服务器和目标服务器上均需安装PostgreSQL(版本建议一致或兼容)。 执行命令:sudo apt update &&...
Debian系统中PostgreSQL数据迁移的常见步骤
一、准备工作
- 安装PostgreSQL:在源服务器和目标服务器上均需安装PostgreSQL(版本建议一致或兼容)。
执行命令:sudo apt update & & sudo apt install postgresql postgresql-contrib
。 - 备份源数据库:迁移前务必对源数据库进行完整备份,防止数据丢失。
推荐使用pg_dump
工具(支持自定义格式、大对象包含):
sudo -u postgres pg_dump -Fc -b -v -f /path/to/backup/source_db.dump source_db_name
参数说明:-Fc
(自定义格式,便于后续恢复)、-b
(包含大对象,如图片、二进制文件)、-v
(详细模式,显示进度)、-f
(指定备份文件路径)。 - 传输备份文件:将源服务器的备份文件复制到目标服务器(可使用
scp
等工具)。
示例:scp /path/to/backup/source_db.dump user@target_server:/path/to/target/backup/
。
二、核心迁移步骤(以pg_dump/pg_restore为例)
1. 恢复数据库到目标服务器
在目标服务器上,使用pg_restore
工具将备份文件恢复到指定数据库:
sudo -u postgres pg_restore -d target_db_name -v /path/to/target/backup/source_db.dump
参数说明:-d
(指定目标数据库名称,需提前创建)、-v
(详细模式,显示恢复进度)。
2. 创建目标数据库(若未存在)
若目标数据库不存在,需先通过createdb
命令创建:
sudo -u postgres createdb target_db_name
。
三、验证迁移结果
- 登录目标数据库:使用
psql
工具连接目标数据库。
示例:sudo -u postgres psql -d target_db_name
。 - 检查数据完整性:执行以下命令验证表、视图、索引及数据是否迁移成功:
- 列出所有表:
\dt
- 列出所有视图:
\dv
- 列出所有索引:
\di
- 查询表数据(以
my_table
为例):SELECT COUNT(*) FROM my_table;
。
- 列出所有表:
四、清理工作
迁移完成后,若确认数据无误,可删除源服务器和目标服务器上的备份文件以释放空间:
rm /path/to/backup/source_db.dump
(源服务器)、rm /path/to/target/backup/source_db.dump
(目标服务器)。
注意事项
- 版本兼容性:确保源服务器与目标服务器的PostgreSQL版本一致或兼容(如13→14通常无问题,但跨大版本需测试)。
- 服务中断:迁移过程中建议停止源数据库服务(
sudo systemctl stop postgresql
),避免数据不一致;若数据库较大,可选择低峰时段操作。 - 权限检查:确保目标数据库用户具有足够的权限(如
SELECT
、INSERT
、CREATE
等),避免恢复失败。 - 大数据库优化:若数据库超过10GB,建议使用
pg_dump
的--jobs
参数并行备份(如pg_dump -Fc -j 4
),或使用物理复制(如流复制)提升速度。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian中PostgreSQL数据迁移步骤
本文地址: https://pptw.com/jishu/724873.html