如题,最近在学习PG数据库,在测试备份恢复的时候,遇到了一些问题,还请大神们指导一下,问题详情如下:
基础环境:
postgresql 9.2 Windows 32位
场景:
数据库gx,gx下面有一张表tb1,其中有一些数据,如下图
13:28:46做的基础备份,此时含数据库gx
13:34 删除数据库gx
指定时间恢复到13:32:10,结果如下,数据没有问题
执行完全恢复,也没问题,被删除的数据库是不存在的
问题来了,当我指定时间点恢复到13:32:45的时候,这时的预期结果应该是13:32:44.202这条数据还在,gx数据库也应该还没有删除,但是配置完recovery.conf后,启动数据库,在pgAdmin中,点击gx数据库,提示数据库对应的物理文件目录不存在,类似下图错误:
pg_log里面的日志如下:
测试了好多次,都是相同的问题,恢复之前,数据库gx对应的物理文件目录是存在的,启动PG服务后,回放日志的时候,这个目录就被删除了,但是看pg_log里面的日志,根本就没有执行删除数据库gx的那个操作的日志,所以数据库应该是存在的,物理文件也是存在的。
手动将数据库gx对应的物理文件目录放到base目录下,不做其他任何操作,数据库正常,数据也正常,tb1中的数据刚好恢复到13:32:44.202那一条
猜测:
PG在回放日志的时候,优先删除了数据库的物理文件,这应该是一个bug!!!
跪求大神们点拨一下小弟~~~