如何防止PostgreSQL中的一个表上的Write Ahead Logging?

Guy*_*y C 7 postgresql

我正在考虑在PostgreSQL中对Write Ahead Logs(WAL)进行日志传送,以创建一个热备份数据库.但是我在数据库中有一个表,每天都会收到大量的INSERT/DELETE,但我并不关心保护其中的数据.为了减少生成的WAL数量,我想知道,有没有办法阻止在一个桌面上的任何活动被记录在WALs中?

xzi*_*lla 11

抛开这个老问题,现在有了更好的答案.Postgres 9.1引入了"未记录的表",这些表不会将其DML更改记录到WAL.有关详细信息,请参阅文档,但至少现在有一个解决此问题的方法.

请参阅依据relsz 等待9.1 - UNLOGGED表9.1文档.


Gre*_*ill 6

不幸的是,我不相信有。WAL日志记录在页级别上操作,其级别比表级别低得多,甚至不知道哪个页保存了哪个表的数据。事实上,WAL 文件甚至不知道哪些页面属于哪个数据库

您可能会考虑将高活动表移动到完全不同的 PostgreSQL 实例。这看起来很激烈,但我想不出另一种方法来避免该活动出现在您的 WAL 文件中。