在Debian系统上迁移PostgreSQL数据库通常涉及以下步骤:
安装PostgreSQL:
sudo apt update
sudo apt install postgresql postgresql-contrib
停止PostgreSQL服务:
sudo systemctl stop postgresql
备份数据库:
pg_dump
命令备份源服务器上的数据库。sudo -u postgres pg_dump -Fc -b -v -f /path/to/backup/mydatabase_backup.dump mydatabase
-Fc
:生成自定义格式的备份文件。-b
:包含大对象。-v
:详细模式。-f
:指定输出文件路径。mydatabase
:要备份的数据库名称。将备份文件传输到目标服务器:
scp
或其他文件传输工具将备份文件传输到目标服务器。scp /path/to/backup/mydatabase_backup.dump user@target_server:/path/to/destination/
在目标服务器上恢复数据库:
sudo systemctl start postgresql
pg_restore
命令恢复数据库。sudo -u postgres pg_restore -d mydatabase /path/to/destination/mydatabase_backup.dump
-d mydatabase
:指定要恢复到的数据库名称。/path/to/destination/mydatabase_backup.dump
:备份文件的路径。验证数据:
sudo -u postgres psql -d mydatabase -c "\dt" # 列出所有表
sudo -u postgres psql -d mydatabase -c "\dv" # 列出所有视图
sudo -u postgres psql -d mydatabase -c "\di" # 列出所有索引
sudo -u postgres psql -d mydatabase -c SELECT COUNT(*) FROM my_table; # 查看表记录数
清理:
rm /path/to/backup/mydatabase_backup.dump