以下是Debian系统上PostgreSQL数据迁移的常用技巧及注意事项:
pg_dump/pg_restore(官方推荐)
pg_dump -U username -F c -b -v -f backup_file.backup database_name(自定义格式,保留大对象)。pg_restore -U username -d target_db -v backup_file.backup。scp传输文件至目标服务器,再执行恢复。pgloader(支持异构数据库迁移)
LOAD DATABASE FROM mysql://... INTO postgresql://...),执行pgloader config.load。COPY命令(适合结构化数据文件)
COPY table_name (columns) FROM '/path/to/file.csv' WITH CSV HEADER。逻辑复制(实时同步)
CREATE PUBLICATION pub_name FOR ALL TABLES;从库创建订阅:CREATE SUBSCRIPTION sub_name CONNECTION 'host=主库IP dbname=xxx' PUBLICATION pub_name。gzip backup.sql),传输后解压恢复。postgresql.conf(如内存、连接数)和pg_hba.conf(访问控制)。pg_rewind工具利用WAL日志同步数据块变化,适用于主从复制场景。参考来源: