I got this on HEAD while doing lots of CREATE -> COPY -> DROP on table.

(...)
DEBUG:  ProcessUtility
DEBUG:  drop auto-cascades to toast table pg_toast.pg_toast_16774
DEBUG:  drop auto-cascades to type pg_toast.pg_toast_16774
DEBUG:  drop auto-cascades to index pg_toast.pg_toast_16774_index
DEBUG:  drop auto-cascades to type public.text
DEBUG:  drop auto-cascades to type public.text[]
DEBUG:  StartTransaction
DEBUG: name: unnamed; blockState: DEFAULT; state: INPROGR, xid/subid/cid: 0/1/0, nestlvl: 1, children:
ERROR:  deadlock detected
DETAIL: Process 25423 waits for AccessExclusiveLock on relation 16386 of database 1; blocked by process 25428. Process 25428 waits for AccessShareLock on relation 16390 of database 1; blocked by process 25423.
        Process 25423: drop table manuale ;
        Process 25428: autovacuum: VACUUM ANALYZE public.manuale
HINT:  See server log for query details.
STATEMENT:  drop table text;
(...)

I was then able to recreate this using:

$ while true; do psql template1 < test-lock.sql; done
and in another terminal
$ while true; do psql template1 -c 'vacuum analyze text'; done

The file test-lock.sql contained:

create table text ( a text );
\copy text from stdin
 ... 1000 lines of random 20 character strings ...
\.
drop table text;

Almost instantly messages like the above crop up, sometimes it's AccessExclusiveLock/ShareUpdateExclusiveLock, sometimes AccessExclusiveLock/ShareUpdateExclusiveLock.

System:
Linux 2.6.23.9 Intel Core Duo 32bit

Configure switches:
./configure --enable-debug --enable-cassert --with-libxml --with-perl --with-python --with-openssl --with-tcl

Cheers,
--
Jan Urbanski
GPG key ID: E583D7D2

ouden estin

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to