diff options
author | Andres Freund <andres@anarazel.de> | 2015-08-10 13:28:19 +0200 |
---|---|---|
committer | Andres Freund <andres@anarazel.de> | 2015-08-10 13:28:19 +0200 |
commit | 86baf3c24dfb6f351d0a1653552d0973ad7c4e3d (patch) | |
tree | 3d8ed649bde27db837c32028b3312b06a44c85e3 | |
parent | 6e03d476c93458203c1c0307abaf9068d5793aeb (diff) | |
download | postgresql-86baf3c24dfb6f351d0a1653552d0973ad7c4e3d.tar.gz postgresql-86baf3c24dfb6f351d0a1653552d0973ad7c4e3d.zip |
Don't start to stream after pg_receivexlog --create-slot.
Immediately starting to stream after --create-slot is inconvenient in a
number of situations (e.g. when configuring a slot for use in
recovery.conf) and it's easy to just call pg_receivexlog twice in the
rest of the cases.
Author: Michael Paquier
Discussion: CAB7nPqQ9qEtuDiKY3OpNzHcz5iUA+DUX9FcN9K8GUkCZvG7+Ew@mail.gmail.com
Backpatch: 9.5, where the option was introduced
-rw-r--r-- | doc/src/sgml/ref/pg_receivexlog.sgml | 2 | ||||
-rw-r--r-- | src/bin/pg_basebackup/pg_receivexlog.c | 5 |
2 files changed, 4 insertions, 3 deletions
diff --git a/doc/src/sgml/ref/pg_receivexlog.sgml b/doc/src/sgml/ref/pg_receivexlog.sgml index a4c98921cb8..0e6ec1c4144 100644 --- a/doc/src/sgml/ref/pg_receivexlog.sgml +++ b/doc/src/sgml/ref/pg_receivexlog.sgml @@ -273,7 +273,7 @@ PostgreSQL documentation <listitem> <para> Create a new physical replication slot with the name specified in - <option>--slot</option>, then start to stream WAL. + <option>--slot</option>, then exit. </para> </listitem> </varlistentry> diff --git a/src/bin/pg_basebackup/pg_receivexlog.c b/src/bin/pg_basebackup/pg_receivexlog.c index 00536bd0972..ca648d9716a 100644 --- a/src/bin/pg_basebackup/pg_receivexlog.c +++ b/src/bin/pg_basebackup/pg_receivexlog.c @@ -508,7 +508,7 @@ main(int argc, char **argv) /* * Required arguments */ - if (basedir == NULL && !do_drop_slot) + if (basedir == NULL && !do_drop_slot && !do_create_slot) { fprintf(stderr, _("%s: no target directory specified\n"), progname); fprintf(stderr, _("Try \"%s --help\" for more information.\n"), @@ -519,7 +519,7 @@ main(int argc, char **argv) /* * Check existence of destination folder. */ - if (!do_drop_slot) + if (!do_drop_slot && !do_create_slot) { DIR *dir = get_destination_dir(basedir); @@ -584,6 +584,7 @@ main(int argc, char **argv) if (!CreateReplicationSlot(conn, replication_slot, NULL, true, slot_exists_ok)) disconnect_and_exit(1); + disconnect_and_exit(0); } /* |