学院动态
School News
热门课程
400电话

免费咨询热线
400-090-9964

学院动态

PostgresSQL 12.2公开课,陈老师答疑互动摘录

时间:2021-08-13 来源:

陈卫星老师深耕数据库培训领域多年。其本人也热心于数据库在高校的科研交流,同时是长春理工大学兼职教授、甘肃农业大学创业导师。本次沙龙,陈老师为大家带来了PostgreSQL 12.2 基于时间点恢复的实战操作。

PostgresSQL 12.2公开课,陈老师答疑互动摘录

上周六晚上,陈老师在腾讯课堂上进行公开课直播,是关于Postgre数据库的不完全恢复的内容,这里记录了一些答疑互动的问题,希望对你也有帮助.

PostgresSQL 12.2 企业级课程系列公开课,第二次讲课:Point-in-Time Recovery (PITR)

1、基于target_name恢复

2、基于target_time恢复

3、基于target_xid恢复

4、基于target_lsn恢复

时间:2020-03-21 20:00-21:00

1. 陈老师,您好,您今天所讲的到目前为止都是模拟一个数据库在误操作删除一些数据之后对该数据的找回操作,操作之后后面的数据都没有了,在mysql中,我们可以在从库上设置一个sql_delay 参数,如果在规定时间内可以在从库找回数据,不影响业务的连续性,在PG里面有这些参数吗?还有你介绍的备份都是物理备份,但是在我们实际工作中都会定期对数据库进行一次逻辑备份,逻辑备份可以顺便检测一下是否有数据坏块,您觉得PG有这些优势吗?我不太了解PG,所以请教一下

Mysql的sql_delay参数只是查看当前备库延迟了多少时间,不是设置需要延迟多长时间,关于使用主备延迟的方式来实现表的恢复是不太实际的,谁都不知道删除的操作什么时候会发生,什么时候知道表被删除了;Pg支持主备之间的延迟操作;我上上周做了备份恢复的公开课(包含逻辑备份和物理备份,并不是只是物理备份),逻辑备份和物理备份这两种备份是互相配合使用的,pg也是支持的。

2. 有个不清楚的问题,就是执行不完全恢复前做了全库备份,执行完不完全恢复后,我能不能恢复数据库到不完全恢复前的状态

可以的,可以用不完全恢复以前的备份就可以。

3. 是否有通过某个sql语句,快速定位日志的方法呢?

有第三方的软件可以把pg redolog解析成sql语句,但是也是需要通过很多日志去分析,因为你不知道需要的sql语句具体包含在哪个日志中。

4. 有没有快捷的方法能定位到lsn或者事务号?

如果你知道做这个事务时的事务号,那么就能够很快查到,否则一个日志中包含那么多的事务,你很难去判断;如果不是做drop操作,那么可以通过对象的oid号很快在日志中定位需要关注的对象,但是这个对象可能会有重复的操作,所以还是需要人为的去判断具体哪一步是自己需要的。

5. 备库不是只读的吗?为什么还能做恢复的操作

备库肯定是只读的,否则就无法实现主备的数据同步了,能够做恢复是因为数据库在recovery状态,可以应用日志,但是不能手动修改,数据库必须要这么设计的。如果需要做双活,那么需要第三方的同步软件才能够实现。

6. PG能不能自由选择timeline,或者说能不能查看到所有的timeline

timeline是由于不完全恢复造成的,不是我们去选择哪个timeline,只要做了一次不完全恢复,就会产生新的timeline,每次发生不完全恢复后,在日志的序列号上就会产生新的timeline的标记。

7. 问下金融类系统联机业务库空间多大性能不会下降,oracleRAC可以很大的库,pg做了很多分库,一个库可以到多少性能也没有大的下降;pg数据库的恢复速度怎么样,针对大库

你说的大库应该指的是业务量吧,即使数据库数据再多,没有业务也不会出现新的性能问题,Oracle是oltp支持最好的,pg在oltp上也支持,目前也有金融业使用,但是没有具体的测试数据报告,所以这一方面我也不是很清楚;pg的恢复速度如果指的是recovery速度,那么在recovery的时候还是很快的,这一点跟oracle差不多。但是如果是进行restore操作,pg在大数据库下恢复应该没有oracle快,因为pg一般都是一个表一个文件的方式进行存储,那么在restore过程中有多少张表就要创建多少个文件,根据我以往的恢复经验,创建小文件的时候是需要花费很大时间的。

陈卫星老师深耕数据库培训多年,如您想深入学习PostgreSQL,可与我们联系

版权所有@北京神脑资讯技术有限公司(CUUG,中国UNIX用户协会) Copyright ALL Rights Reserved 京ICP备11008061号-1

CUUG旗下网站:www.cuug.com.cn www.cuug.com oracle.cuug.com bbs.cuug.com www.cuug.net

电话:010-59426307 010-59426319 邮政编码:100089

地址:北京市海淀区北清路164号28-38号院