From b056b716e28562f5c53dfb143725294d44f14d38 Mon Sep 17 00:00:00 2001 From: Robert Haas Date: Fri, 23 Sep 2011 09:25:20 -0400 Subject: [PATCH] Add --{no-,}replication flags to createuser. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Fujii Masao, reviewed by Cédric Villemain, with some doc changes by me. --- doc/src/sgml/ref/createuser.sgml | 22 ++++++++++++++++++++++ src/bin/scripts/createuser.c | 15 +++++++++++++++ 2 files changed, 37 insertions(+) diff --git a/doc/src/sgml/ref/createuser.sgml b/doc/src/sgml/ref/createuser.sgml index 0c47fb4997..4cbfd69148 100644 --- a/doc/src/sgml/ref/createuser.sgml +++ b/doc/src/sgml/ref/createuser.sgml @@ -240,6 +240,28 @@ PostgreSQL documentation + + + + + The new user will have the REPLICATION privilege, which is + described more fully in the documentation for + . + + + + + + + + + The new user will not have the REPLICATION privilege, which is + described more fully in the documentation for + . + + + + diff --git a/src/bin/scripts/createuser.c b/src/bin/scripts/createuser.c index 04bbebcaf3..d6e05dd793 100644 --- a/src/bin/scripts/createuser.c +++ b/src/bin/scripts/createuser.c @@ -37,6 +37,8 @@ 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, 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,6 +68,7 @@ main(int argc, char *argv[]) createrole = TRI_DEFAULT, inherit = TRI_DEFAULT, login = TRI_DEFAULT, + replication = TRI_DEFAULT, encrypted = TRI_DEFAULT; PQExpBufferData sql; @@ -145,6 +148,12 @@ main(int argc, char *argv[]) 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,6 +280,10 @@ main(int argc, char *argv[]) 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,6 +329,8 @@ 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(_(" --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")); -- 2.40.0