pg-logical-replication
Version:
PostgreSQL Location Replication client - logical WAL replication streaming
29 lines (28 loc) • 1.01 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.PgoutputPlugin = void 0;
const abstract_plugin_js_1 = require("../abstract.plugin.js");
const pgoutput_parser_js_1 = require("./pgoutput-parser.js");
class PgoutputPlugin extends abstract_plugin_js_1.AbstractPlugin {
parser;
constructor(options) {
super(options);
this.parser = new pgoutput_parser_js_1.PgoutputParser();
}
get name() {
return 'pgoutput';
}
parse(buffer) {
return this.parser.parse(buffer);
}
start(client, slotName, lastLsn) {
const options = [
`proto_version '${this.options.protoVersion}'`,
`publication_names '${this.options.publicationNames.join(',')}'`,
`messages '${this.options.messages ?? false}'`,
];
const sql = `START_REPLICATION SLOT "${slotName}" LOGICAL ${lastLsn} (${options.join(', ')})`;
return client.query(sql);
}
}
exports.PgoutputPlugin = PgoutputPlugin;