On Wed, 2023-11-08 at 09:09 -0500, Craig Milhiser wrote: > Our max xid are over 500m and climbing. Auto vacuuming and manual vacuuming are returning > > autovacuuming to prevent wraparound. > WARNING: oldest xmin is far in the past > HINT: Close open transactions soon to avoid wraparound problems. > You might also need to commit or roll back old prepared transactions, or drop stale replication slots. > > The autovacuum previously kicked in at 200m and reduced the maximum xid. Now there is no reduction. > > We have a writer (master) node, 3 readers (slaves) and a hot-standby. We have an ETL vendor hooked > up to replicate. All of the replications are working. There is current data in each. We have checked > our replication slots. Everything is in use and working. > > From transactions, we have terminated every writer node PID since before this climb has started. > Almost every client has been restarted. > > We are handling 100+ insert/updates per second. Most transactions complete in ~2 seconds. Though some > may take 1 minute. There are no long running idle in transaction activities. > > We have been scouring the internet reading many helpful pages and trying their advice but we cannot > find a problem. > > We have restored a daily snapshot in another cluster. After vacuuming the max xid dropped to 50m. > No client was connected. Implying that a restart should fix the issue. > > I am searching for any hints. We have not found a smoking gun to focus on. This is a 24x7 operation > and would rather not have to restart the server. > > We are on v13.8, AWS RDS. > > Is there a way to find which row or table or lock or some open transaction is preventing the vacuuming > from lowering xid? Any hints on where to look? If that is not a bug introduced by Amazon, and you are certain that there are no long-running transactions and stale replication slots, there are two more possibilities: 1. a prepared transaction (check pg_prepared_xacts) 2. a long-running query on a standby, and "hot_standby_feedback = on" Yours, Laurenz Albe