v2-0001-Fix-dumping-of-inherited-generated-columns.patch

text/plain

Filename: v2-0001-Fix-dumping-of-inherited-generated-columns.patch
Type: text/plain
Part: 0
Message: Re: Dumping/restoring fails on inherited generated column

Patch

Format: format-patch
Series: patch v2-0001
Subject: Fix dumping of inherited generated columns
File+
src/bin/pg_dump/pg_dump.c 7 0
From eeeab95adcaa298851abd3fd44d8646510e7aed2 Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <peter@eisentraut.org>
Date: Mon, 3 Feb 2020 19:56:34 +0100
Subject: [PATCH v2] Fix dumping of inherited generated columns

---
 src/bin/pg_dump/pg_dump.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c
index 33e58fa287..c9938323b1 100644
--- a/src/bin/pg_dump/pg_dump.c
+++ b/src/bin/pg_dump/pg_dump.c
@@ -8492,6 +8492,13 @@ getTableAttrs(Archive *fout, TableInfo *tblinfo, int numTables)
 				if (tbinfo->attisdropped[adnum - 1])
 					continue;
 
+				/*
+				 * ignore generated columns on child tables unless they have a
+				 * local definition
+				 */
+				if (tbinfo->attgenerated[adnum - 1] && !tbinfo->attislocal[adnum - 1])
+					continue;
+
 				attrdefs[j].dobj.objType = DO_ATTRDEF;
 				attrdefs[j].dobj.catId.tableoid = atooid(PQgetvalue(res, j, 0));
 				attrdefs[j].dobj.catId.oid = atooid(PQgetvalue(res, j, 1));
-- 
2.25.0