Ara*_*n R 5 replication migration postgresql-9.4 write-ahead-logging amazon-rds
我正在尝试使用 AWS Database Migration Service 将数据从 RDS Postgres 实例迁移到 Aurora MySQL 实例。
数据库迁移服务要求将wal_level设置为源 Postgres DB 中的逻辑值。但是完成后,Postgres 开始消耗大量磁盘空间,以至于实例变得无法使用。
WAL 日志保留多长时间?是否可以启用其他设置来限制磁盘空间的使用?
这是 AWS DMS 问题。
DMS 最近添加了一个功能 WAL heartbeat [1](运行虚拟查询),用于从 PostgreSQL 源复制,因此空闲的逻辑复制槽不会保留旧的 WAL 日志,这可能会导致源上的存储已满情况。此心跳使 restart_lsn 保持移动并防止存储已满的情况。
在额外的连接属性下,请添加:
heartbeatenable=Y;heartbeatFrequency=1
HeartbeatEnable – 设置为 true(默认为 false) HeartbeatSchema – 心跳工件的架构(默认为 public) HeartbeatFrequency – 以分钟为单位的心跳频率(默认为 5,最小值为 1)
单独停止任务不会清除复制槽,所以当任务处于停止状态时存储使用量仍然会增加,您需要删除任务来清除槽。
要清除复制槽,请使用以下命令 -
SELECT * FROM pg_replication_slots ; --finds all replication slots
select pg_drop_replication_slot('NameOfSlot'); -- you will get the name of the slot from the first command
Run Code Online (Sandbox Code Playgroud)
参考:[1] PostgreSQL 源 WAL 心跳 https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReleaseNotes.html#CHAP_ReleaseNotes.DMS230
归档时间: |
|
查看次数: |
2560 次 |
最近记录: |