Dear Vignesh, Thanks for giving a comment! New patch will be available soon.
> Thanks for the patches. > Currently the two_phase enabled slots are not getting restored from > the dumped contents, this is because we are passing the twophase value > as the second parameter which indicates if it is temporary or not to > the pg_create_logical_replication_slot function as in [1], while > restoring it is internally creating the slot as a temporary slot in > this case: > + appendPQExpBuffer(query, "SELECT > pg_catalog.pg_create_logical_replication_slot('%s', ", > + slotname); > + appendStringLiteralAH(query, slotinfo->plugin, fout); > + appendPQExpBuffer(query, ", "); > + appendStringLiteralAH(query, slotinfo->twophase, fout); > + appendPQExpBuffer(query, ");"); > + > + ArchiveEntry(fout, slotinfo->dobj.catId, > slotinfo->dobj.dumpId, > + ARCHIVE_OPTS(.tag = slotname, > + > .description = "REPLICATION SLOT", > + > .section = SECTION_POST_DATA, > + > .createStmt = query->data)); > + > + pfree(slotname); > + destroyPQExpBuffer(query); > + } > +} > > Since we are dumping only the permanent slots, we could update > temporary parameter as false: > + appendPQExpBuffer(query, "SELECT > pg_catalog.pg_create_logical_replication_slot('%s', ", > + slotname); > + appendStringLiteralAH(query, slotinfo->plugin, fout); > + appendPQExpBuffer(query, ", f, "); > + appendStringLiteralAH(query, slotinfo->twophase, fout); > + appendPQExpBuffer(query, ");"); > > [1] - https://www.postgresql.org/docs/devel/functions-admin.html Yeah, you are right. I misread the interface of the function. Fixed and added new test. Best Regards, Hayato Kuroda FUJITSU LIMITED