pgsql: pg_dump: Lock all relations, not just plain tables - Mailing list pgsql-committers

From Alvaro Herrera
Subject pgsql: pg_dump: Lock all relations, not just plain tables
Date
Msg-id E1kXSpw-0002wA-U4@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
pg_dump: Lock all relations, not just plain tables

Now that LOCK TABLE can take any relation type, acquire lock on all
relations that are to be dumped.  This prevents schema changes or
deadlock errors that could cause a dump to fail after expending much
effort.  The server is tested to have the capability and the feature
disabled if it doesn't, so that a patched pg_dump doesn't fail when
connecting to an unpatched server.

Backpatch to 9.5.

Author: Álvaro Herrera <alvherre@alvh.no-ip.org>
Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
Reported-by: Wells Oliver <wells.oliver@gmail.com>
Discussion: https://postgr.es/m/20201021200659.GA32358@alvherre.pgsql

Branch
------
REL_12_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/9f829aeb3636830f60aeb8ef4f7872e5a5c9044a

Modified Files
--------------
src/bin/pg_dump/pg_backup.h    |  2 ++
src/bin/pg_dump/pg_backup_db.c | 64 ++++++++++++++++++++++++++++++++++++++++++
src/bin/pg_dump/pg_backup_db.h |  2 ++
src/bin/pg_dump/pg_dump.c      | 17 ++++++-----
4 files changed, 78 insertions(+), 7 deletions(-)


pgsql-committers by date:

Previous
From: Peter Eisentraut
Date:
Subject: pgsql: Add select_common_typmod()
Next
From: Bruce Momjian
Date:
Subject: pgsql: Makefile comment: remove reference to tools/thread/thread_test