我们需要一些有关恢复测试方面的帮助。我们已按照以下步骤操作,但是在创建了recovery.conf文件并重新启动计算机后,数据库已损坏且无法启动。 请查看以下步骤,并帮助我们分析那里出了什么问题。我们已经使用离线postgresql安装程序来设置数据库。还正确设置了postgresql.conf中的必需配置,例如wal_level = hot_stanby,archive_mode = on和archive_command ='cp%p / mnt / server / archive /%f'。
设置数据库后,我们创建了一个tablcespace,db并将其与表空间映射。还创建了一些表以在pg_wal和归档目录(是mnt / server / archive)中生成事务文件
SELECT pg_start_backup('TestPITR');
获取Postgresql数据目录的备份(tar)(opt / PostgreSQL / 10 /数据)>> tar zcf backup20180810.tar数据/
SELECT pg_stop_backup();
创建了更多表,并记下了它们的时间戳(用于PITR,它将作为recovery_target_time添加到recovery.conf文件中)
停止了DB >>服务postgresql-10停止
创建了一个新目录>> mkdir pgbackup
将tar文件移动到pgbackup目录>> mv backup20180810.tar / opt / PostgreSQL / 10 / pgbackup
将存档文件复制到pgbackup目录>> cp -r / mnt / server / archive / / opt / PostgreSQL / 10 / pgbackup /
将旧数据目录(opt / PostgreSQL / 10 / data)重命名为bad.data >>> mv data bad.data(现在opt / PostgreSQL / 10 / bad.data)
在步骤2中取反后>> tar -xvf backup20180810.tar
将数据目录移动到旧路径>>> mv / opt / PostgreSQL / 10 / pgbackup / data / / opt / PostgreSQL / 10 /(现在我有opt / PostgreSQL / 10 /数据来自tar文件,并在pg_wal中包含旧的事务日志)
13将更新的pg_wal日志从bad.data复制到数据>>> cp -r /opt/PostgreSQL/10/bad.data/pg_wal/0* / opt / PostgreSQL / 10 / data / pg_wal
启动数据库>>服务postgresql-10 start(我们的数据库工作正常)
在数据文件夹>> opt / PostgreSQL / 10 / data中创建了recovery.conf文件-授予权限和用户为postgres
我们的recovery.conf文件具有以下两个参数。 recovery_target_time来自步骤5
recovery_target_time ='2018-08-10 02:56:31'
重新启动数据库服务器>>服务postgresql-10重新启动
它不会重新启动,并且日志文件夹(opt / PostgreSQL / 10 / data / log)中没有日志条目,看起来好像重新启动后已停止创建日志。
答案 0 :(得分:0)
步骤14和15是错误的方法。您必须在启动服务器之前创建recovery.conf
。