diff --git a/doc/src/sgml/ref/createuser.sgml b/doc/src/sgml/ref/createuser.sgml
index 0c47fb4..f330d8e 100644
--- a/doc/src/sgml/ref/createuser.sgml
+++ b/doc/src/sgml/ref/createuser.sgml
@@ -251,6 +251,17 @@ PostgreSQL documentation
+
+
+
+ The new user will be allowed to initiate streaming replication
+ or put the system in and out of backup mode. If not specified,
+ not allowed to do that.
+
+
+
+
+
diff --git a/src/bin/scripts/createuser.c b/src/bin/scripts/createuser.c
index 04bbebc..667a2be 100644
--- a/src/bin/scripts/createuser.c
+++ b/src/bin/scripts/createuser.c
@@ -20,6 +20,8 @@ static void help(const char *progname);
int
main(int argc, char *argv[])
{
+ static int replication = 0;
+
static struct option long_options[] = {
{"host", required_argument, NULL, 'h'},
{"port", required_argument, NULL, 'p'},
@@ -37,6 +39,7 @@ main(int argc, char *argv[])
{"no-inherit", no_argument, NULL, 'I'},
{"login", no_argument, NULL, 'l'},
{"no-login", no_argument, NULL, 'L'},
+ {"replication", no_argument, &replication, 1},
/* adduser is obsolete, undocumented spelling of superuser */
{"adduser", no_argument, NULL, 'a'},
{"no-adduser", no_argument, NULL, 'A'},
@@ -145,6 +148,9 @@ main(int argc, char *argv[])
case 'N':
encrypted = TRI_NO;
break;
+ case 0:
+ /* this covers the long options */
+ break;
default:
fprintf(stderr, _("Try \"%s --help\" for more information.\n"), progname);
exit(1);
@@ -271,6 +277,10 @@ main(int argc, char *argv[])
appendPQExpBuffer(&sql, " LOGIN");
if (login == TRI_NO)
appendPQExpBuffer(&sql, " NOLOGIN");
+ if (replication)
+ appendPQExpBuffer(&sql, " REPLICATION");
+ if (!replication)
+ appendPQExpBuffer(&sql, " NOREPLICATION");
if (conn_limit != NULL)
appendPQExpBuffer(&sql, " CONNECTION LIMIT %s", conn_limit);
appendPQExpBuffer(&sql, ";\n");
@@ -316,6 +326,7 @@ help(const char *progname)
printf(_(" -R, --no-createrole role cannot create roles\n"));
printf(_(" -s, --superuser role will be superuser\n"));
printf(_(" -S, --no-superuser role will not be superuser\n"));
+ printf(_(" --replication role can initiate replication\n"));
printf(_(" --help show this help, then exit\n"));
printf(_(" --version output version information, then exit\n"));
printf(_("\nConnection options:\n"));