以下是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日志同步數據塊變化,適用于主從復制場景。參考來源: