]> granicus.if.org Git - postgresql/commitdiff
Add --{no-,}replication flags to createuser.
authorRobert Haas <rhaas@postgresql.org>
Fri, 23 Sep 2011 13:25:20 +0000 (09:25 -0400)
committerRobert Haas <rhaas@postgresql.org>
Fri, 23 Sep 2011 13:25:20 +0000 (09:25 -0400)
Fujii Masao, reviewed by Cédric Villemain, with some doc changes by me.

doc/src/sgml/ref/createuser.sgml
src/bin/scripts/createuser.c

index 0c47fb49971cda686cf867274278b109a3a74bbc..4cbfd69148c799b7b419d19dbba75cc951cca54d 100644 (file)
@@ -240,6 +240,28 @@ PostgreSQL documentation
       </listitem>
      </varlistentry>
 
+     <varlistentry>
+      <term><option>--replication</></term>
+      <listitem>
+       <para>
+        The new user will have the REPLICATION privilege, which is
+        described more fully in the documentation for 
+        <xref linkend="sql-createrole">.
+       </para>
+      </listitem>
+     </varlistentry>
+
+     <varlistentry>
+      <term><option>--no-replication</></term>
+      <listitem>
+       <para>
+        The new user will not have the REPLICATION privilege, which is
+        described more fully in the documentation for 
+        <xref linkend="sql-createrole">.
+       </para>
+      </listitem>
+     </varlistentry>
+
      <varlistentry>
        <term><option>-V</></term>
        <term><option>--version</></term>
index 04bbebcaf3bfcc60e887cf4cf6a0d8bcbb379616..d6e05dd793994b05df24a193daf75e4777df2b11 100644 (file)
@@ -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"));