PostgreSQL 中的复制槽是否会阻止删除 WALL,即使它们来自另一个数据库?
Does replication slot in PostreSQL prevent deletion of WAL even they are from another database?
我在同一个数据库服务器上有两个数据库。对于这些数据库中的第一个,我有一个发布和一个用于逻辑复制的插槽。如果对第二个 DB 进行了很多操作并且插槽“不活动”(意味着没有人会从发布中获得更新) - 连接到第二个 DB 的操作的 WAL 是否会被存储并且插槽大小会增加?
Replication slots标记了WAL流中的某个位置,整个集群的所有WAL信息都是一个流。因此,如果您有一个与数据库 A 相关联的逻辑复制槽,复制停止,并且您在数据库 B 中生成大量带有 activity 的 WAL,所有这些 WAL 都必须保留,即使它不包含任何 activity 与 A.
相关
使用不同的集群来避免这种情况。
PS: 复制槽没有大小。
我在同一个数据库服务器上有两个数据库。对于这些数据库中的第一个,我有一个发布和一个用于逻辑复制的插槽。如果对第二个 DB 进行了很多操作并且插槽“不活动”(意味着没有人会从发布中获得更新) - 连接到第二个 DB 的操作的 WAL 是否会被存储并且插槽大小会增加?
Replication slots标记了WAL流中的某个位置,整个集群的所有WAL信息都是一个流。因此,如果您有一个与数据库 A 相关联的逻辑复制槽,复制停止,并且您在数据库 B 中生成大量带有 activity 的 WAL,所有这些 WAL 都必须保留,即使它不包含任何 activity 与 A.
相关使用不同的集群来避免这种情况。
PS: 复制槽没有大小。