]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Postpone calls of unsafe server-side functions in pg_dump.
authorTom Lane <tgl@sss.pgh.pa.us>
Sat, 19 Nov 2022 16:40:30 +0000 (11:40 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Sat, 19 Nov 2022 16:40:30 +0000 (11:40 -0500)
commite46e986baef04b9127a991f8a08d5c057671cb45
treed0bd635d0dbb9ea8e7f5b476609b81d2a7ef2421
parent9a299cf7c21f30ca5d045faaf725e8216d3cc5f5
Postpone calls of unsafe server-side functions in pg_dump.

Avoid calling pg_get_partkeydef(), pg_get_expr(relpartbound),
and regtypeout until we have lock on the relevant tables.
The existing coding is at serious risk of failure if there
are any concurrent DROP TABLE commands going on --- including
drops of other sessions' temp tables.

Back-patch of commit e3fcbbd62.  That's been in v15/HEAD long enough
to have some confidence about it, so now let's fix the problem in
older branches.

Original patch by me; thanks to Gilles Darold for back-patching
legwork.

Discussion: https://postgr.es/m/2273648.1634764485@sss.pgh.pa.us
Discussion: https://postgr.es/m/7d7eb6128f40401d81b3b7a898b6b4de@W2012-02.nidsa.loc
Discussion: https://postgr.es/m/45c93d57-9973-248e-d2df-e02ca9af48d4@darold.net
src/bin/pg_dump/pg_dump.c
src/bin/pg_dump/pg_dump.h