我计划创建一堆logical_replication
启用的 Aurora Postgres 集群,因此我不必重新启动我的集群一次需要为未来的复制启用logical_replication。
是否可以为 WAL 文件配置保留,因为可以为 MySQL binlogs 这样做?如果没有,我是否会冒着磁盘空间的风险,因为 WAL 文件会无限增长?请指教。
我计划创建一堆logical_replication
启用的 Aurora Postgres 集群,因此我不必重新启动我的集群一次需要为未来的复制启用logical_replication。
是否可以为 WAL 文件配置保留,因为可以为 MySQL binlogs 这样做?如果没有,我是否会冒着磁盘空间的风险,因为 WAL 文件会无限增长?请指教。
如果我正确理解您的问题,您计划现在启用逻辑复制,但稍后创建订阅,并担心 WAL 文件从现在到那时累积。
Aurora 作为托管服务,不公开
wal_keep_size
(以前称为wal_keep_segments
)参数。但是,它确实暴露max_slot_wal_keep_size
了 ,这显然对您很重要。通过逻辑复制,WAL 保留由复制槽管理,因此在您创建一个或多个槽之前,不会保留超出 Aurora 本身需要的 WAL 文件。Aurora 似乎没有为 定义任何默认值
max_slot_wal_keep_size
,我认为这意味着它将永远在插槽中累积未读的 WAL 文件,这意味着如果您在激活订阅者之前创建复制插槽,您可能会耗尽磁盘空间。但是,如果您在创建订阅的同时创建复制槽,则应该没有问题。