首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PostgreSQL PITR恢复

PostgreSQL PITR恢复
EN

Database Administration用户
提问于 2012-06-29 15:15:46
回答 2查看 1K关注 0票数 9

我有一个PostgreSQL 9.1服务器运行在一个CentOS 5.8 32位操作系统上,我已经启用了WAL存档。在这个服务器上,有三个数据库: databaseA、databaseB和databaseC。有人在下午12点在databaseB上删除一个表,我想将databaseB还原到删除该表之前的时间。现在时间是下午3点

如何才能恢复到中午12点的databaseB,而不损失另外两个数据库中三个小时的数据呢?

postgresql.conf

代码语言:javascript
复制
wal_level = archive             
archive_mode = on               
archive_command = 'test ! -f /opt/pgsql/logs/%f && cp %p /opt/pgsql/logs/%f'
max_wal_senders = 100

recovery.conf

代码语言:javascript
复制
restore_command = 'cp /opt/pgsql/logs/%f %p'
recovery_target_time = '2012-06-29 11:59:59 CEST'

我在早上9点运行我的基地备份

代码语言:javascript
复制
pg_basebackup -h 127.0.0.1 -D /opt/pgsql/backup

PostgreSQL服务于下午3时关闭

EN

回答 2

Database Administration用户

回答已采纳

发布于 2012-06-30 18:31:26

我会做一个时间点恢复到一个不同的位置,恢复到所需的时间,并pg_dump问题数据库。我将在正常位置删除一个数据库,再次创建它,并加载pg_dump输出。

在启动类似的操作之前,请确保创建并保存集群数据目录树的文件系统级副本。

票数 6
EN

Database Administration用户

发布于 2012-07-05 09:47:30

要扩展kgrit万亿的答案,还可以只对已删除的表执行pg_dump,并在现有的databaseB中重新构建该表,因此不需要在其他表中丢失6个小时的数据。

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/20158

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档