Re: pg_dumpall blocking other sessions

Поиск
Список
Период
Сортировка
От Guillaume Lelarge
Тема Re: pg_dumpall blocking other sessions
Дата
Msg-id 4CA4C4DB.50609@lelarge.info
обсуждение исходный текст
Ответ на pg_dumpall blocking other sessions  (Terry Schmitt <tschmitt@schmittworks.com>)
Список pgsql-admin
Le 30/09/2010 17:50, Terry Schmitt a écrit :
> [...]
> I had a situation where a session was getting blocked while per
> performing a pg_dumpall.
>
> I could see the pg_dumpall session executing a COPY command on a table
> in one schema.
> Another user session was attempting to truncate a different table in a
> different schema, but in the same database. This session was being
> blocked by the pg_dumpall session.
>
> I intend to test this further, but my understanding was that pg_dump
> was a non-blocking operation. I'm still on the learning curve with
> Postgres 8.4 (actually EnterpriseDB Advanced Server), so maybe I just
> need more detail on how pg_dumpall works.
> Is the truncate perhaps the problem, but other dml is allowed?
>

There's a light lock held on every objects so that pg_dump/pg_dumpall
can save every object existing at the time it was fired. This light lock
doesn't allow one to drop or truncate a table because these operations
require exclusive access to the table (which they can't have since
pg_dump/pg_dumpall have a light lock on it). But you can still insert,
update, delete (even all) lines in every table.


--
Guillaume
 http://www.postgresql.fr
 http://dalibo.com

В списке pgsql-admin по дате отправления:

Предыдущее
От: Terry Schmitt
Дата:
Сообщение: pg_dumpall blocking other sessions
Следующее
От: Greg Smith
Дата:
Сообщение: Re: could not connect to server: Connection refused (0x0000274D/10061)