Dne 4.5.2016 v 21:07 Tom Lane napsal(a):
> Alvaro Herrera <alvherre@2ndquadrant.com> writes:
>> Ooh, interesting bug.
>
>> As a workaround I suggest connecting to all of your databases except one
>> and disabling autovacuum for pg_shdepend. Then the table will be
>> processed in the one database where you left it enabled, and the other
>> workers will take care of the rest of the tables.
>
>> I'll think about a real fix.
>
> Seems like a simple answer is to consider all shared catalogs to "belong"
> to only one database for autovac purposes, ie, only autovac workers in
> that database would consider vacuuming them. The problem IIUC is that the
> interlock against multiple workers glomming onto the same table only
> considers other workers in the same DB.
>
> The fun part might be to decide which DB that is. I don't think we should
> depend on any of the standard databases always being there.
>
> regards, tom lane
>
How about a new configuration option, something like
#autovacuum_maintenance_database = postgres
Ondřej