1
1
<!--
2
- $Header: /cvsroot/pgsql/doc/src/sgml/ref/createuser.sgml,v 1.23 2002/01/20 22: 19:56 petere Exp $
2
+ $Header: /cvsroot/pgsql/doc/src/sgml/ref/createuser.sgml,v 1.24 2002/02/13 19:32:17 tgl Exp $
3
3
PostgreSQL documentation
4
4
-->
5
5
@@ -79,7 +79,7 @@ PostgreSQL documentation
79
79
<term>-d, --createdb</term>
80
80
<listitem>
81
81
<para>
82
- Allows the new user to create databases.
82
+ The new user is allowed to create databases.
83
83
</para>
84
84
</listitem>
85
85
</varlistentry>
@@ -88,7 +88,7 @@ PostgreSQL documentation
88
88
<term>-D, --no-createdb</term>
89
89
<listitem>
90
90
<para>
91
- Forbids the new user to create databases.
91
+ The new user is not allowed to create databases.
92
92
</para>
93
93
</listitem>
94
94
</varlistentry>
@@ -97,7 +97,9 @@ PostgreSQL documentation
97
97
<term>-a, --adduser</term>
98
98
<listitem>
99
99
<para>
100
- Allows the new user to create other users.
100
+ The new user is allowed to create other users.
101
+ (Note: actually, this makes the new user a <firstterm>superuser</>.
102
+ The option is poorly named.)
101
103
</para>
102
104
</listitem>
103
105
</varlistentry>
@@ -106,7 +108,8 @@ PostgreSQL documentation
106
108
<term>-A, --no-adduser</term>
107
109
<listitem>
108
110
<para>
109
- Forbids the new user to create other users.
111
+ The new user is not allowed to create other users (i.e.,
112
+ the new user is a regular user not a superuser).
110
113
</para>
111
114
</listitem>
112
115
</varlistentry>
@@ -215,9 +218,17 @@ PostgreSQL documentation
215
218
<para>
216
219
<application>createuser</application> creates a
217
220
new <productname>PostgreSQL</productname> user.
218
- Only users with <literal>usesuper</literal> set in
219
- the <literal>pg_shadow</literal> table can create
220
- new <productname>PostgreSQL</productname> users.
221
+ Only superusers (users with <literal>usesuper</literal> set in
222
+ the <literal>pg_shadow</literal> table) can create
223
+ new <productname>PostgreSQL</productname> users,
224
+ so <application>createuser</application> must be
225
+ invoked by someone who is a <productname>PostgreSQL</productname>
226
+ superuser.
227
+ </para>
228
+
229
+ <para>
230
+ Being a superuser also implies the ability to bypass access permission
231
+ checks within the database, so superuser-dom should not be granted lightly.
221
232
</para>
222
233
223
234
<para>
@@ -227,10 +238,11 @@ PostgreSQL documentation
227
238
the <productname>PostgreSQL</productname> interactive terminal
228
239
<xref linkend="APP-PSQL">. Thus, there is nothing
229
240
special about creating users via this or other methods. This means
230
- that the <application>psql</application> must be found by the script and that
231
- a database server is running at the targeted host. Also, any default
232
- settings and environment variables available to <application>psql</application>
233
- and the <application>libpq</application> front-end library do apply.
241
+ that the <application>psql</application> application must be found by the
242
+ script and that
243
+ a database server must be running at the targeted host. Also, any default
244
+ settings and environment variables used by <application>psql</application>
245
+ and the <application>libpq</application> front-end library will apply.
234
246
</para>
235
247
236
248
</refsect1>
0 commit comments