Don't lock tables in RelationGetPartitionDispatchInfo. Instead, lock them in the caller using find_all_inheritors so that they get locked in the standard order, minimizing deadlock risks.
Also in RelationGetPartitionDispatchInfo, avoid opening tables which are not partitioned; there's no need. Amit Langote, reviewed by Ashutosh Bapat and Amit Khandekar Discussion: http://postgr.es/m/[email protected] Branch ------ REL_10_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/7c0ca2900f7cae490fd551096cb7dc581cfe45c8 Modified Files -------------- src/backend/catalog/partition.c | 55 ++++++++++++++++++++++------------------- src/backend/executor/execMain.c | 10 +++++--- src/include/catalog/partition.h | 3 +-- 3 files changed, 37 insertions(+), 31 deletions(-) -- Sent via pgsql-committers mailing list ([email protected]) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers
