在Debian系统上迁移PostgreSQL数据库可以通过以下步骤进行:
首先,确保在源服务器和目标服务器上都安装了PostgreSQL。
sudo apt update
sudo apt install postgresql postgresql-contrib
确保PostgreSQL配置允许远程连接(如果需要)。
/etc/postgresql/<version>/main/pg_hba.conf
文件,添加允许连接的IP地址。TYPE DATABASE USER ADDRESS METHOD
host all all 0.0.0.0/0 md5
/etc/postgresql/<version>/main/postgresql.conf
文件,确保监听所有接口。listen_addresses = '*'
重启PostgreSQL服务以应用更改。
sudo systemctl restart postgresql
在源服务器上备份数据库。
sudo -u postgres pg_dump -U <username> <database_name> > backup.sql
使用 scp
或其他文件传输工具将备份文件传输到目标服务器。
scp backup.sql <target_user>@<target_host>:/path/to/destination/
在目标服务器上,创建一个新的数据库(如果还没有)。
sudo -u postgres createdb <new_database_name>
在目标服务器上恢复数据库。
sudo -u postgres psql -d <new_database_name> -f /path/to/destination/backup.sql
在目标服务器上验证数据是否正确迁移。
sudo -u postgres psql -d <new_database_name> -c "\dt" # 列出所有表
sudo -u postgres psql -d <new_database_name> -c "\dv" # 列出所有视图
sudo -u postgres psql -d <new_database_name> -c "\di" # 列出所有索引
sudo -u postgres psql -d <new_database_name> -c SELECT COUNT(*) FROM <table_name>; # 查看表记录数
删除源服务器上的备份文件以节省空间。
rm backup.sql
通过以上步骤,你应该能够在Debian系统上成功迁移PostgreSQL数据库。