Chinaunix

标题: wal log recovery [打印本页]

作者: lll0024    时间: 2013-03-19 14:40
标题: wal log recovery
SQL文

begin;
update tab set  name = 'test' where id = '1' ;
....
....
update tab set  name = 'test10000000' where id = '10000000' ;

pg_sleep(300);

end;

问题:
1.为什么commit很快就完成了,我想让它时间长点?
2.如果commit时间长,在数据写入磁盘没有全部之前(假设只要1万条成功),突然发生系统崩溃(crash),通过wal日志重做,
表tab的1千万数据能全部都更新吗?

作者: clqaitxp    时间: 2013-03-19 22:14
因为它的MVCC机制的缘故,postgres的Crash 恢复是非常快的,因为不需要处理UNDO,可以参考一下德哥的这篇BLOG,大概在0.1s

http://blog.163.com/digoal@126/b ... edreading&wumii
作者: lll0024    时间: 2013-03-23 22:31

谢谢,明白了





欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2