PostgreSQL:单个数据库的时间点恢复,而不是整个集群

问题描述 投票:0回答:1

按照标准的Postgres documentation

与普通文件系统备份技术一样,此方法只能支持恢复整个数据库集群,而不是子集。

据此,我了解到无法为集群中的各个数据库设置PITR(例如,一个拥有多个数据库的数据库实例)。如果我的理解不正确,可能问题的下一部分是不相关的,但如果没有,这里是:

理论上我仍然没有遇到问题,因为每个数据库都在生成自己的WAL存档。

这里的问题是:我需要设置多个Postgres clusters,不知怎的,我只有2台RHEL 7.6机器来处理这个问题。我试图将这两台机器上的集群数量减少到只有2.我计划创建多个数据库而不是多个实例来处理客户应用程序。但这意味着我必须牺牲PITS,因为PITR只能在实例/集群级别而不是在数据库级别上执行(根据官方文档)。

请有人帮助澄清我的误解。

postgresql postgresql-10 pitr
1个回答
1
投票

你是对的,你只能在PostgreSQL数据库集群上进行PITR,而不能在单个数据库上进行。

完整的数据库集群只有一个WAL流; WAL不会按数据库拆分。

如果这对您有利,请毫不犹豫地在一台机器上运行多个PostgreSQL集群。

运行第二个数据库集群的开销很小。群集占用的最大资源是共享缓冲区,但您希望它只是可用RAM的一小部分。大部分内存应留给所有PostgreSQL集群共享的文件系统缓存。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.