diff --git a/src/backend/utils/adt/ddlutils.c b/src/backend/utils/adt/ddlutils.c index b16c277d..c4f9f86c 100644 --- a/src/backend/utils/adt/ddlutils.c +++ b/src/backend/utils/adt/ddlutils.c @@ -480,7 +480,7 @@ pg_get_role_ddl_internal(Oid roleid, bool pretty, bool memberships) if (isnull) continue; - role_settings = DatumGetArrayTypeP(datum); + role_settings = DatumGetArrayTypePCopy(datum); deconstruct_array_builtin(role_settings, TEXTOID, &settings, &nulls, &nsettings); @@ -1060,7 +1060,7 @@ pg_get_database_ddl_internal(Oid dbid, bool pretty, if (isnull) continue; - dbconfig = DatumGetArrayTypeP(datum); + dbconfig = DatumGetArrayTypePCopy(datum); deconstruct_array_builtin(dbconfig, TEXTOID, &settings, &nulls, &nsettings);