From 5f6fc34af5712995026267b9ace79d06b258a0ae Mon Sep 17 00:00:00 2001 From: Alvaro Herrera Date: Wed, 3 Apr 2019 15:32:53 -0300 Subject: [PATCH] Copy name when cloning FKs recurses to partitions We were passing a string owned by a syscache entry, which was released before recursing. Fix by pstrdup'ing the string. Per buildfarm member prion. --- src/backend/commands/tablecmds.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c index 978b6bec44..58eb7e1d8e 100644 --- a/src/backend/commands/tablecmds.c +++ b/src/backend/commands/tablecmds.c @@ -8619,7 +8619,7 @@ CloneFkReferencing(List **wqueue, Relation parentRel, Relation partRel) "fkey", RelationGetNamespace(partRel), NIL); else - fkconstraint->conname = NameStr(constrForm->conname); + fkconstraint->conname = pstrdup(NameStr(constrForm->conname)); fkconstraint->fk_upd_action = constrForm->confupdtype; fkconstraint->fk_del_action = constrForm->confdeltype; fkconstraint->deferrable = constrForm->condeferrable;