From: | Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Ondřej Světlík <osvetlik(at)flexibee(dot)eu>, pgsql-admin(at)postgresql(dot)org |
Subject: | Re: Autovacuum of pg_database |
Date: | 2016-05-06 16:19:32 |
Message-ID: | 20160506161932.GA216183@alvherre.pgsql |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-admin |
Tom Lane wrote:
> Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> writes:
> > Tom Lane wrote:
> >> I think it's pretty obvious: autovacuum.c's rule for detecting whether
> >> some other worker is already processing table X is wrong when X is a
> >> shared table. I propose the attached patch.
>
> > Hmm, I have pretty much the same patch, except I added the flag to
> > struct autovac_table and have it populated by table_recheck_autovac.
> > Haven't tested this yet, which is why I hadn't posted it.
>
> Actually, I realized after looking at it that the new wi_tableshared
> field is unnecessary in my patch. The only important part is that
> knowledge of relisshared be available when we're looking for conflicting
> workers, and that is entirely local in do_autovacuum(). I'd started the
> patch by adding wi_tableshared, on the expectation that it would be
> necessary, but it ain't ...
OK, if I understand you correctly then that is what my patch does -- the
"sharedrel" flag in my patch is only inside do_autovacuum. Do you
already have a test rig for this? If not, I can set one up so that I
can push the patch hopefully later today.
--
Álvaro Herrera http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
From | Date | Subject | |
---|---|---|---|
Next Message | Greg Spiegelberg | 2016-05-06 16:22:15 | Re: Autovacuum of pg_database |
Previous Message | Tom Lane | 2016-05-06 16:13:47 | Re: Autovacuum of pg_database |