.sql、.backup,或物理备份目录)。systemctl stop postgresql)。systemctl status postgresql)。postgres)及密码,点击“保存”连接。.sql或.backup格式);pg_restore或psql工具执行恢复,等待进度条完成。.sql或自定义格式备份)psql -h <主机名> -U <用户名> -d <目标数据库名> -f <备份文件路径>
mydb_backup.sql到mydatabase数据库):psql -h localhost -U postgres -d mydatabase -f /path/to/mydb_backup.sql
pg_basebackup生成的目录备份)pg_basebackup -h <主机名> -U <用户名> -D <恢复目录路径> -P -X stream -R
/var/lib/pgsql/15/data目录):pg_basebackup -h localhost -U postgres -D /var/lib/pgsql/15/data -P -X stream -R
-R参数会自动配置postgresql.conf中的restore_command,适用于基于时间点恢复(PITR)的场景。若需要基于时间点的恢复(如恢复到某一具体时间),可使用pg_rman工具(适用于PostgreSQL 12及以上版本)。
wget https://github.com/ossc-db/pg_rman/releases/download/v1.4.0/pg_rman-1.4.0-pg15-centos7.x86_64.rpm
sudo yum install -y pg_rman-1.4.0-pg15-centos7.x86_64.rpm
postgresql.conf(通常位于/var/lib/pgsql/15/data/),添加以下参数:wal_level = replica
archive_mode = on
archive_command = 'test ! -f /path/to/archive/%f && cp %p /path/to/archive/%f'
max_wal_senders = 10
重启PostgreSQL使配置生效:systemctl restart postgresql。pg_rman init -B /path/to/backup_dir
pg_rman recover -B /path/to/backup_dir --target-time="2025-11-01 12:00:00"
--target-time:指定恢复到的时间点(如2025-11-01 12:00:00),若省略则恢复到最新备份。psql查看目标数据库是否存在。注意事项: