@@ -3763,7 +3763,10 @@ getSubscriptions(Archive *fout)
37633763 subinfo[i].dobj.name = pg_strdup(PQgetvalue(res, i, i_subname));
37643764 subinfo[i].rolname = pg_strdup(PQgetvalue(res, i, i_rolname));
37653765 subinfo[i].subconninfo = pg_strdup(PQgetvalue(res, i, i_subconninfo));
3766- subinfo[i].subslotname = pg_strdup(PQgetvalue(res, i, i_subslotname));
3766+ if (PQgetisnull(res, i, i_subslotname))
3767+ subinfo[i].subslotname = NULL;
3768+ else
3769+ subinfo[i].subslotname = pg_strdup(PQgetvalue(res, i, i_subslotname));
37673770 subinfo[i].subsynccommit =
37683771 pg_strdup(PQgetvalue(res, i, i_subsynccommit));
37693772 subinfo[i].subpublications =
@@ -3831,7 +3834,10 @@ dumpSubscription(Archive *fout, SubscriptionInfo *subinfo)
38313834 }
38323835
38333836 appendPQExpBuffer(query, " PUBLICATION %s WITH (connect = false, slot_name = ", publications->data);
3834- appendStringLiteralAH(query, subinfo->subslotname, fout);
3837+ if (subinfo->subslotname)
3838+ appendStringLiteralAH(query, subinfo->subslotname, fout);
3839+ else
3840+ appendPQExpBufferStr(query, "NONE");
38353841
38363842 if (strcmp(subinfo->subsynccommit, "off") != 0)
38373843 appendPQExpBuffer(query, ", synchronous_commit = %s", fmtId(subinfo->subsynccommit));
0 commit comments