Re: [HACKERS] Vacuum: allow usage of more than 1GB of work mem
| От | Alvaro Herrera |
|---|---|
| Тема | Re: [HACKERS] Vacuum: allow usage of more than 1GB of work mem |
| Дата | |
| Msg-id | 20180208022934.54txqcn6p6slw2ju@alvherre.pgsql обсуждение исходный текст |
| Ответ на | Re: [HACKERS] Vacuum: allow usage of more than 1GB of work mem (Claudio Freire <klaussfreire@gmail.com>) |
| Ответы |
Re: [HACKERS] Vacuum: allow usage of more than 1GB of work mem
|
| Список | pgsql-hackers |
Claudio Freire wrote:
> On Wed, Feb 7, 2018 at 8:52 PM, Alvaro Herrera <alvherre@alvh.no-ip.org> wrote:
> >> Waiting as you say would be akin to what the patch does by putting
> >> vacuum on its own parallel group.
> >
> > I don't think it's the same. We don't need to wait until all the
> > concurrent tests are done -- we only need to wait until the transactions
> > that were current when the delete finished are done, which is very
> > different since each test runs tons of small transactions rather than
> > one single big transaction.
>
> Um... maybe "lock pg_class" ?
I was thinking in first doing
SELECT array_agg(DISTINCT virtualtransaction) vxids
FROM pg_locks \gset
and then in a DO block loop until
SELECT DISTINCT virtualtransaction
FROM pg_locks
INTERSECT
SELECT (unnest(:'vxids'::text[]));
returns empty; something along those lines.
--
Álvaro Herrera https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
В списке pgsql-hackers по дате отправления: