Linux恢复PostgreSQL数据主要有以下两种常见方式:
pg_dump生成的.sql文件)。sudo systemctl stop postgresql
sudo -u postgres psql -d 数据库名 < /path/to/backup.sql
pg_dump -Fc生成的文件),需用pg_restore:sudo -u postgres pg_restore -d 数据库名 /path/to/backup.dump
pg_basebackup生成的目录)和WAL归档日志。postgresql.conf,设置:restore_command = 'cp /path/to/archive/%f %p' # 指定归档日志路径
recovery_target_time = 'YYYY-MM-DD HH:MM:SS' # 可选:恢复到指定时间点
sudo rm -rf /var/lib/postgresql/版本号/main/*
sudo cp -r /backup/full_backup/* /var/lib/postgresql/版本号/main/
sudo systemctl start postgresql
pg_isready或psql检查服务状态和数据完整性。参考来源: