PostgreSQL Greenplum crash 后临时表引发的BUG - 暨年龄监控的重要性

  1. 云栖社区>
  2. 阿里云数据库ApsaraDB>
  3. 博客>
  4. 正文

PostgreSQL Greenplum crash 后临时表引发的BUG - 暨年龄监控的重要性

德哥 2016-03-24 17:23:15 浏览4603
展开阅读全文

PostgreSQL 和 Greenplum 都支持临时表。
在使用临时表时,如果数据库crash,临时表不会被自动清除,这样可能会埋下隐患,隐患爆发时是非常危险的。
问题在哪呢?
因为vacuum freeze不处理其他会话创建的临时表,仅仅处理当前会话创建的临时表。
也就是说,没有被清理的临时表,可能导致数据库年龄无法下降。
但是PostgreSQL从8.4的版本开始autovacuum进程就有了自动清理未正常删除的TEMP表的功能。
并且PostgreSQL从8.4的版本开始如果将来还会继续在同一个temp schema中创建临时表的话,同样也会自动清理以前的未清除的临时表。
代码:

http://git.postgresql.org/gitweb/?p=postgresql.git;a=commi

网友评论

登录后评论
0/500
评论
德哥
+ 关注
所属云栖号: 阿里云数据库ApsaraDB