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_restore工具将备份文件恢复到指定数据库:
sudo -u postgres pg_restore -d target_db_name -v /path/to/target/backup/source_db.dump
参数说明:-d(指定目标数据库名称,需提前创建)、-v(详细模式,显示恢复进度)。
若目标数据库不存在,需先通过createdb命令创建:
sudo -u postgres createdb target_db_name。
psql工具连接目标数据库。sudo -u postgres psql -d target_db_name。\dt\dv\dimy_table为例):SELECT COUNT(*) FROM my_table;。迁移完成后,若确认数据无误,可删除源服务器和目标服务器上的备份文件以释放空间:
rm /path/to/backup/source_db.dump(源服务器)、rm /path/to/target/backup/source_db.dump(目标服务器)。
sudo systemctl stop postgresql),避免数据不一致;若数据库较大,可选择低峰时段操作。SELECT、INSERT、CREATE等),避免恢复失败。pg_dump的--jobs参数并行备份(如pg_dump -Fc -j 4),或使用物理复制(如流复制)提升速度。