*** a/doc/src/sgml/ref/createuser.sgml --- b/doc/src/sgml/ref/createuser.sgml *************** *** 251,256 **** PostgreSQL documentation --- 251,279 ---- + + + + The new user will be allowed to initiate streaming replication + or put the system in and out of backup mode. If neither + + + + + + + + + The new user will not be allowed to initiate streaming replication + or put the system in and out of backup mode. + + + + + *** a/src/bin/scripts/createuser.c --- b/src/bin/scripts/createuser.c *************** *** 37,42 **** main(int argc, char *argv[]) --- 37,44 ---- {"no-inherit", no_argument, NULL, 'I'}, {"login", no_argument, NULL, 'l'}, {"no-login", no_argument, NULL, 'L'}, + {"replication", no_argument, NULL, 1}, + {"no-replication", no_argument, NULL, 2}, /* adduser is obsolete, undocumented spelling of superuser */ {"adduser", no_argument, NULL, 'a'}, {"no-adduser", no_argument, NULL, 'A'}, *************** *** 66,71 **** main(int argc, char *argv[]) --- 68,74 ---- createrole = TRI_DEFAULT, inherit = TRI_DEFAULT, login = TRI_DEFAULT, + replication = TRI_DEFAULT, encrypted = TRI_DEFAULT; PQExpBufferData sql; *************** *** 145,150 **** main(int argc, char *argv[]) --- 148,159 ---- case 'N': encrypted = TRI_NO; break; + case 1: + replication = TRI_YES; + break; + case 2: + replication = TRI_NO; + break; default: fprintf(stderr, _("Try \"%s --help\" for more information.\n"), progname); exit(1); *************** *** 271,276 **** main(int argc, char *argv[]) --- 280,289 ---- appendPQExpBuffer(&sql, " LOGIN"); if (login == TRI_NO) appendPQExpBuffer(&sql, " NOLOGIN"); + if (replication == TRI_YES) + appendPQExpBuffer(&sql, " REPLICATION"); + if (replication == TRI_NO) + appendPQExpBuffer(&sql, " NOREPLICATION"); if (conn_limit != NULL) appendPQExpBuffer(&sql, " CONNECTION LIMIT %s", conn_limit); appendPQExpBuffer(&sql, ";\n"); *************** *** 316,321 **** help(const char *progname) --- 329,336 ---- 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(_(" --no-replication role cannot initiate replication\n")); printf(_(" --help show this help, then exit\n")); printf(_(" --version output version information, then exit\n")); printf(_("\nConnection options:\n"));