Re: Problem dropping a table

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Problem dropping a table
Дата
Msg-id 12098.1147189549@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Problem dropping a table  (Dan Armbrust <daniel.armbrust.list@gmail.com>)
Список pgsql-general
Dan Armbrust <daniel.armbrust.list@gmail.com> writes:
> I have a java application that is trying to dynamically drop a set of
> tables.  Problem is, when it gets to a particular table and I execute
> the "drop table foo cascade" command from a prepared statement, the
> query never returns.  It just hangs indefinitely.  I presume that it is
> waiting on a lock for this table, but there is nothing that I know of
> that should be locking this table.

> So, I have two issues - the first, how do I prevent myself from hanging
> indefinitely?  I tried 'setQueryTimeout' on the prepared statement, but
> it doesn't seem to have any effect.  Still hangs indefinitely.

You should complain to the JDBC list about that.  The underlying backend
facility works as expected:

session 1:

regression=# create table foo (f int);
CREATE TABLE
regression=# begin;
BEGIN
regression=# lock table foo;
LOCK TABLE

session 2:

regression=# set statement_timeout TO 1000;
SET
regression=# drop table foo cascade;
... after a second ...
ERROR:  canceling statement due to statement timeout
regression=#


> The second, how can I track down what is locking this table?

Look in pg_locks to start with.

            regards, tom lane

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

Предыдущее
От: Dan Armbrust
Дата:
Сообщение: Problem dropping a table
Следующее
От: Scott Marlowe
Дата:
Сообщение: Re: [PERFORM] Arguments Pro/Contra Software Raid