dropping partitioned table waits forever

Поиск
Список
Период
Сортировка
От Gregory Stark
Тема dropping partitioned table waits forever
Дата
Msg-id 87u04dzz7l.fsf@stark.xeocode.com
обсуждение исходный текст
Список pgsql-admin
Hm, in my experiments what's happening is that dropping a table needs an
AccessExclusiveLock on the table and any open transactions that have read from
that table will have at least an AccessShareLock on that table which blocks
the schema change.

But I don't think merely having a trigger will hold a lock. Will it? Anyone?

I think you need an actual open transaction that has accessed the table. Is it
possible you have some transactions that are live for an extended period?
Either large queries that are still running or just some non-autocommit
transaction sitting waiting for user input before committing?

You could investigate by doing

select * from pg_lock where not granted;

Pick out the one looking for an AccessExclusiveLock, its pid should match the
pid of the backend where you're doing the DROP. Look at the relation column
and do

select * from pg_lock where relation = NNN

where NNN is the relation of the nongranted lock.

Look at what type of lock is being held by that's blocking the partition drop
and what the pid of those backends are. You can see what command they're
executing by using a tool like pg_admin to look at the stats command buffer or
just by looking at ps usually.

8.2 will allow you to move a partition out of an inheritance structure instead
of dropping it entirely. Sadly it takes the same lock so it won't help you
here.

I wonder if it really needs such a strong lock. If it dropped the inheritance
structure without locking it would open up some strange cases though. Like,
you wouldn't know just because you had committed that other queries weren't
still running that think your table is still a partition in the partitioned
table.

--
  Gregory Stark
  EnterpriseDB          http://www.enterprisedb.com

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

Предыдущее
От: lst_hoe01@kwsoft.de
Дата:
Сообщение: Re: Unsubscribe
Следующее
От: "Amit Phatarphekar"
Дата:
Сообщение: Installing Postgres 8.1.4 on Linux RedHat