On 01-10-2016 12:57, Francisco Olarte wrote:
> On Thu, Sep 29, 2016 at 7:10 PM, Alvaro Herrera
> <alvherre@2ndquadrant.com> wrote:
>> Francisco Olarte wrote:
>>
>>> I would propose another behaviour, which I think can solve the problem
>>> without introducing more complex code. Put a couple of flags to vacuum
>>> only catalog tables / non catalog tables ( I believe this can be
>>> served by include/exclude schemas too, which will be even more useful
>>> for other things ). This way one can do a full paralell vacuum of
>>> non-catalog objects followed by a serial one on catalog objects (
>>> which should not be too slow on 'normal' databases )
>>
>> OK, that sounds easier to implement. Are you going to submit a patch?
>
> After looking at vacuumdb source I'm trying to develop and submit a
> patch implementing the following:
>
> Two new flags --include-schema=NAME, --exclude-schema=NAME
>
> Two new flags --system-schemas --non-system-schemas, as alias to
> --include-schema=pg_catalog and --exclude-schema=pg_catalog
>
This is another feature. Also, it will *sometimes* solve the problem.
Why don't you implement your parallel + serialization idea or Alvaro's
two lists idea? I'm not against adding schema options, I just think it's
not the right way to solve the deadlock problem.
--
Euler Taveira Timbira - http://www.timbira.com.br/
PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento