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 <[email protected]> Reviewed-by: Tom Lane <[email protected]> Reported-by: Wells Oliver <[email protected]> Discussion: https://postgr.es/m/[email protected] Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/403a3d91c841beabf3efd7bffddb47a2bce4481f 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(-)
