Table locking during backup

Поиск
Список
Период
Сортировка
От Artur Zając
Тема Table locking during backup
Дата
Msg-id 021f01d57d52$3397e300$9ac7a900$@ang.com.pl
обсуждение исходный текст
Ответы Re: Table locking during backup  (Tomas Vondra <tomas.vondra@2ndquadrant.com>)
Список pgsql-general

Hi,

 

I cannot reproduce some scenario  I found in my PostgreSQL logs.

 

I have two connections/processes:

 

Process 24755 is standard pg_backup connection with:

 

BEGIN;
SET TRANSACTION ISOLATION LEVEL REPEATABLE READ, READ ONLY

LOCK TABLE gm.tableabc;

COPY FROM gm.tableabc

 

Process 5969 is normal connection where I have:

 

LOG: proces 5969 still waiting for AccessExclusiveLock on relations 562888531 of database 16429 after 1000.066 ms

DETAILT: Process holding the lock: 24755. Wait queue: 5969

 

Query that is waiting (from proces 5969) is:

 

CREATE TEMP TABLE IF NOT EXISTS tableabc

(

Id BIGINT DEFAULT gm.top()

) INHERITS (gm.tableabc);

 

I cannot reproduce what pg_dump is doing that causes waiting on proces 5969 (which lock is acquired and why). When pg_dump ends lock is released and proces 5969 continues.

 

I know that doing in two parallel connections:

 

BEGIN;

 

CREATE TEMP TABLE IF NOT EXISTS tableabc

(

Id BIGINT DEFAULT gm.top()

) INHERITS (gm.tableabc);

 

causes  waiting state on second connection until the first finished, but pg_dump connection is read only…

 

Could you suggest me which part of pg_dump (which query)  might cause that behaviour.

 

Artur Zając

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

Предыдущее
От: dangal
Дата:
Сообщение: temporary files
Следующее
От: Tomas Vondra
Дата:
Сообщение: Re: temporary files