Обсуждение: pgsql: pg_dump: Lock all relations, not just plain tables

Поиск
Список
Период
Сортировка

pgsql: pg_dump: Lock all relations, not just plain tables

От
Alvaro Herrera
Дата:
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_10_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/5beea9514c9b5021a618bc1d5ddd27322794c47f

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