diff --git a/doc/src/sgml/ref/create_publication.sgml b/doc/src/sgml/ref/create_publication.sgml
index a4be921..e822ea2 100644
--- a/doc/src/sgml/ref/create_publication.sgml
+++ b/doc/src/sgml/ref/create_publication.sgml
@@ -196,6 +196,9 @@ CREATE PUBLICATION name
Specifies whether the generated columns present in the tables
associated with the publication should be replicated. Possible values
are none and stored.
+
+
+
The default is none meaning the generated
columns present in the tables associated with publication will not be
replicated.
diff --git a/src/bin/psql/describe.c b/src/bin/psql/describe.c
index c28fde7..9d47dc8 100644
--- a/src/bin/psql/describe.c
+++ b/src/bin/psql/describe.c
@@ -6374,9 +6374,11 @@ listPublications(const char *pattern)
if (pset.sversion >= 180000)
appendPQExpBuffer(&buf,
",\n (CASE pubgencols_type\n"
- " WHEN " CppAsString2(PUBLISH_GENCOLS_NONE) " THEN 'none'\n"
- " WHEN " CppAsString2(PUBLISH_GENCOLS_STORED) " THEN 'stored'\n"
+ " WHEN '%c' THEN 'none'\n"
+ " WHEN '%c' THEN 'stored'\n"
" END) AS \"%s\"",
+ PUBLISH_GENCOLS_NONE,
+ PUBLISH_GENCOLS_STORED,
gettext_noop("Generated columns"));
if (pset.sversion >= 130000)
appendPQExpBuffer(&buf,
@@ -6526,9 +6528,11 @@ describePublications(const char *pattern)
{
appendPQExpBuffer(&buf,
", (CASE pubgencols_type\n"
- " WHEN " CppAsString2(PUBLISH_GENCOLS_NONE) " THEN 'none'\n"
- " WHEN " CppAsString2(PUBLISH_GENCOLS_STORED) " THEN 'stored'\n"
+ " WHEN '%c' THEN 'none'\n"
+ " WHEN '%c' THEN 'stored'\n"
" END) AS \"%s\"\n",
+ PUBLISH_GENCOLS_NONE,
+ PUBLISH_GENCOLS_STORED,
gettext_noop("Generated columns"));
pubgen_col = ncols++;
}
diff --git a/src/include/catalog/pg_publication.h b/src/include/catalog/pg_publication.h
index 5b1715b..6e81f8c 100644
--- a/src/include/catalog/pg_publication.h
+++ b/src/include/catalog/pg_publication.h
@@ -110,13 +110,27 @@ typedef struct PublicationDesc
bool gencols_valid_for_delete;
} PublicationDesc;
+#ifdef EXPOSE_TO_CLIENT_CODE
+
+typedef enum PublishGencolsType
+{
+ /* Generated columns present should not be replicated. */
+ PUBLISH_GENCOLS_NONE = 'n',
+
+ /* Generated columns present should be replicated. */
+ PUBLISH_GENCOLS_STORED = 's',
+
+} PublishGencolsType;
+
+#endif /* EXPOSE_TO_CLIENT_CODE */
+
typedef struct Publication
{
Oid oid;
char *name;
bool alltables;
bool pubviaroot;
- char pubgencols_type;
+ PublishGencolsType pubgencols_type;
PublicationActions pubactions;
} Publication;
@@ -127,16 +141,6 @@ typedef struct PublicationRelInfo
List *columns;
} PublicationRelInfo;
-#ifdef EXPOSE_TO_CLIENT_CODE
-
-/* Generated columns present should not be replicated. */
-#define PUBLISH_GENCOLS_NONE 'n'
-
-/* Generated columns present should be replicated. */
-#define PUBLISH_GENCOLS_STORED 's'
-
-#endif /* EXPOSE_TO_CLIENT_CODE */
-
extern Publication *GetPublication(Oid pubid);
extern Publication *GetPublicationByName(const char *pubname, bool missing_ok);
extern List *GetRelationPublications(Oid relid);