Обсуждение: pg_locks.relation question

Поиск
Список
Период
Сортировка

pg_locks.relation question

От
Daniel Westermann
Дата:
Hi,

session one:

locks=# begin;
BEGIN
locks=# alter table test add column b text;
ALTER TABLE
locks=#

Session 2 querying pg_locks for the PID from above:

locks=# select locktype,relation::regclass,mode from pg_locks where pid = 2026 and locktype = 'relation';
 locktype | relation |        mode        
----------+----------+---------------------
 relation | test     | AccessExclusiveLock
 relation | 17728    | AccessExclusiveLock
 relation | 17726    | ShareLock
(3 rows)

What are these 17728 and 17726 OIDs? Nothing else is happening except these two sessions.

Thanks in advance
Daniel

Re: pg_locks.relation question

От
Pavan Deolasee
Дата:


On Wed, Apr 18, 2018 at 5:35 PM, Daniel Westermann <daniel.westermann@dbi-services.com> wrote:
Hi,

session one:

locks=# begin;
BEGIN
locks=# alter table test add column b text;
ALTER TABLE
locks=#

Session 2 querying pg_locks for the PID from above:

locks=# select locktype,relation::regclass,mode from pg_locks where pid = 2026 and locktype = 'relation';
 locktype | relation |        mode        
----------+----------+---------------------
 relation | test     | AccessExclusiveLock
 relation | 17728    | AccessExclusiveLock
 relation | 17726    | ShareLock
(3 rows)

What are these 17728 and 17726 OIDs? Nothing else is happening except these two sessions.


Those are probably the OIDs of the toast table and the index on it. If you commit the transaction running in Session 1 and then query pg_class for those OIDs, you might see more details. Of course, I am just guessing without looking into much detail. 

Thanks,
Pavan

--
 Pavan Deolasee                   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services

Re: pg_locks.relation question

От
Daniel Westermann
Дата:
On Wed, Apr 18, 2018 at 5:35 PM, Daniel Westermann <daniel.westermann@dbi-services.com> wrote:
Hi,

session one:

locks=# begin;
BEGIN
locks=# alter table test add column b text;
ALTER TABLE
locks=#

Session 2 querying pg_locks for the PID from above:

locks=# select locktype,relation::regclass,mode from pg_locks where pid = 2026 and locktype = 'relation';
 locktype | relation |        mode        
----------+----------+---------------------
 relation | test     | AccessExclusiveLock
 relation | 17728    | AccessExclusiveLock
 relation | 17726    | ShareLock
(3 rows)

What are these 17728 and 17726 OIDs? Nothing else is happening except these two sessions.


>>Those are probably the OIDs of the toast table and the index on it. If you commit the transaction running in Session 1 and then query >>pg_class for those OIDs, you might see more details. Of course, I am just guessing without looking into much detail. 

Thx, Pavan, that's it.