我有一个 PostgreSQL 服务器,其中包含许多数据库。随着时间的推移,这个数字在 20 到 30 之间变化。
其中一些数据库包含我们希望获得最佳保护的真实生产信息。所以我为他们激活了PITR(wal log backup)。
但其他一些只包含不可变的信息或可以以较少成本重建的信息。对于这些,我们根本不想进行备份,或者每天一个 pg_dump 之类的东西就足够了。
我遇到的问题是,激活 PITR Postgres 后正在保存所有数据库的日志。而且有些第二类数据库的修改率非常大,导致日志占用了巨大的空间。
我希望仅对某些表空间激活 PITR(例如)。这将使我能够将数据库放置在正确的表空间中,以获得我们需要的保护级别。
但我一直无法找到实现这一目标的方法。
有关于该设置的经验吗?
谢谢!
Postgresql WAL 和恢复过程是实例范围的。严格来说,制作 PITR 的能力只是确保 ACID 持久性目的的一个小结果。即使没有配置 WAL 存档,postgresql 也会通过 WAL 跟踪该实例中的所有更改。如果你不想对WAL写一些改变,那么你不仅无法进行PITR,而且在例如短暂停电后也无法启动。
您可以将当前集群拆分为两个独立的集群。假设设置第二个在不同端口上运行。
您可能更愿意获得使用unlogged表格的一些好处。对未记录表的更改不会记录到 WAL。但请注意,在任何意外重启时,postgresql 都会清除此类表中的所有数据。没有复杂的条件:如果我们不从“干净关闭”状态开始,我们就会截断所有未记录的表。
| 归档时间: |
|
| 查看次数: |
184 次 |
| 最近记录: |