summaryrefslogtreecommitdiff
path: root/src/backend
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend')
-rw-r--r--src/backend/replication/logical/sequencesync.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/backend/replication/logical/sequencesync.c b/src/backend/replication/logical/sequencesync.c
index 717c82328f2..a8a39bec508 100644
--- a/src/backend/replication/logical/sequencesync.c
+++ b/src/backend/replication/logical/sequencesync.c
@@ -60,6 +60,7 @@
#include "replication/logicalworker.h"
#include "replication/worker_internal.h"
#include "utils/acl.h"
+#include "utils/builtins.h"
#include "utils/fmgroids.h"
#include "utils/guc.h"
#include "utils/inval.h"
@@ -407,14 +408,20 @@ copy_sequences(WalReceiverConn *conn)
for (int idx = cur_batch_base_index; idx < n_seqinfos; idx++)
{
+ char *nspname_literal;
+ char *seqname_literal;
+
LogicalRepSequenceInfo *seqinfo =
(LogicalRepSequenceInfo *) list_nth(seqinfos, idx);
if (seqstr->len > 0)
appendStringInfoString(seqstr, ", ");
- appendStringInfo(seqstr, "(\'%s\', \'%s\', %d)",
- seqinfo->nspname, seqinfo->seqname, idx);
+ nspname_literal = quote_literal_cstr(seqinfo->nspname);
+ seqname_literal = quote_literal_cstr(seqinfo->seqname);
+
+ appendStringInfo(seqstr, "(%s, %s, %d)",
+ nspname_literal, seqname_literal, idx);
if (++batch_size == MAX_SEQUENCES_SYNC_PER_BATCH)
break;