Frankly speaking, Aurora PostgreSQL's behaviour is quite unpredictable.
In our case, the autovacuum was not even getting triggered in spite of
crossing the autovacuum_freeze_max_age. Finally, the database went down
abruptly, which resolved the issue.


Thanks,
Ninad

On Wed, Jun 15, 2022 at 7:57 PM Laurenz Albe <laurenz.a...@cybertec.at>
wrote:

> On Wed, 2022-06-15 at 12:13 +0100, Mauro Farracha wrote:
> > Have recently upgraded from PG10 to PG13.5 and would like to understand
> the reason why we
> > are seeing triggered autovacuum to prevent the wraparound while all
> the metrics are still
> > far off from the multixact/freeze max ages defined. And inclusive there
> was one time where
> > it was triggered as aggressive.
> >
> > Some background:
> > - autovacuum_freeze_max_age: 400M
> > - autovacuum_multixact_freeze_max_age: 800M
> > - the activity is mostly insert intensive in one particular table (60M
> daily)
> > - the team execute vacuum freeze verbose every day at night to keep the
> multixact ids down
> > - we generally reach near 70M mxids before running vacuum freeze at night
> > - the postgresql is Aurora
> >
> > The scenario:
> > - Out of nowhere (during the weekend), without database activity load or
> batches running,
> >   with previous nightly run of vacuum freeze, in the middle of the day,
> with xids and mxids
> >   below 20M we are seeing autovacuum being triggered to prevent
> wraparound.
> >
> > My question is why this is occurring, which condition might be
> responsible for this behaviour?
>
> A long-running transaction or a prepared transaction.
> Or an abandoned replication slot with an old "xmin".
>
> That would be the answer for PostgreSQL.  It might apply to Amazon Aurora,
> unless they
> changed the behavior there.  Perhaps ask Amazon.
>
> Yours,
> Laurenz Albe
> --
> Cybertec | https://www.cybertec-postgresql.com
>
>
>

Reply via email to