Deadlock while doing VACUUM and DROP

From: Michal Merta <michal(dot)merta(at)greycortex(dot)com>
To: pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Deadlock while doing VACUUM and DROP
Date: 2018-10-24 13:53:29
Message-ID: 21fe894d-4fb8-974d-cdd6-2b252852ce76@greycortex.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hello everyone,

I encountered deadlock during DROP TABLE statement:

2018-10-23 14:49:55 CEST psql > ERROR:  deadlock detected
2018-10-23 14:49:55 CEST psql > DETAIL:  Process 89171 waits for
AccessExclusiveLock on relation 17582 of database 16390; blocked by
process 50837.
        Process 50837 waits for AccessShareLock on relation 20767 of
database 16390; blocked by process 89171.
        Process 89171: DROP TABLE IF EXISTS sm.tasks;
        Process 50837: autovacuum: ANALYZE sm.tasks

This happenend CentOS 7 with Linux kernel 3.10.0-693 using PostgreSQL 9.6.6.

There was discussion about similar issue without any conclusions 10
years ago, I'm not sure whether it's a bug or some documented behaviour.

https://www.postgresql.org/message-id/flat/482CCD42.1060705%40students.mimuw.edu.pl

Is there anything I can do make sure that DDL statement won't be
canceled due to collision with autovaccum?

Regards,
Michal Merta

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2018-10-24 14:02:17 Re: Deadlock while doing VACUUM and DROP
Previous Message Adrian Klaver 2018-10-24 13:38:38 Re: no libpq.pc for Centos 6 or Centos 7