File tree Expand file tree Collapse file tree 6 files changed +22
-10
lines changed Expand file tree Collapse file tree 6 files changed +22
-10
lines changed Original file line number Diff line number Diff line change @@ -805,9 +805,9 @@ archive_cleanup_command = 'pg_archivecleanup /path/to/archive %r'
805805 <note>
806806 <para>
807807 It is recommended that a dedicated user account is used for replication.
808- While it is possible to add the <literal>REPLICATION</> privilege to
809- a superuser account for the purporses of replication, this is not
810- recommended . While <literal>REPLICATION</> privilege gives very high
808+ While the <literal>REPLICATION</> privilege is granted to superuser
809+ accounts by default, it is not recommended to use superuser accounts
810+ for replication . While <literal>REPLICATION</> privilege gives very high
811811 permissions, it does not allow the user to modify any data on the
812812 primary system, which the <literal>SUPERUSER</> privilege does.
813813 </para>
Original file line number Diff line number Diff line change @@ -185,7 +185,8 @@ CREATE ROLE <replaceable class="PARAMETER">name</replaceable> [ [ WITH ] <replac
185185 A role having the <literal>REPLICATION</> attribute is a very
186186 highly privileged role, and should only be used on roles actually
187187 used for replication. If not specified,
188- <literal>NOREPLICATION</literal> is the default.
188+ <literal>NOREPLICATION</literal> is the default for all roles except
189+ superusers.
189190 </para>
190191 </listitem>
191192 </varlistentry>
Original file line number Diff line number Diff line change @@ -175,7 +175,11 @@ CREATE USER <replaceable>name</replaceable>;
175175 to do most of your work as a role that is not a superuser.
176176 To create a new database superuser, use <literal>CREATE ROLE
177177 <replaceable>name</replaceable> SUPERUSER</literal>. You must do
178- this as a role that is already a superuser.
178+ this as a role that is already a superuser. Creating a superuser
179+ will by default also grant permissions to initiate streaming
180+ replication. For increased security this can be disallowed using
181+ <literal>CREATE ROLE <replaceable>name</replaceable> SUPERUSER
182+ NOREPLICATION</literal>.
179183 </para>
180184 </listitem>
181185 </varlistentry>
@@ -214,9 +218,8 @@ CREATE USER <replaceable>name</replaceable>;
214218 <listitem>
215219 <para>
216220 A role must explicitly be given permission to initiate streaming
217- replication (superusers do not bypass this check). A role used
218- for streaming replication must always have <literal>LOGIN</>
219- permission as well. To create such a role, use
221+ replication. A role used for streaming replication must always
222+ have <literal>LOGIN</> permission as well. To create such a role, use
220223 <literal>CREATE ROLE <replaceable>name</replaceable> REPLICATION
221224 LOGIN</literal>.
222225 </para>
Original file line number Diff line number Diff line change @@ -248,7 +248,15 @@ CreateRole(CreateRoleStmt *stmt)
248248 if (dpassword && dpassword -> arg )
249249 password = strVal (dpassword -> arg );
250250 if (dissuper )
251+ {
251252 issuper = intVal (dissuper -> arg ) != 0 ;
253+ /*
254+ * Superusers get replication by default, but only if
255+ * NOREPLICATION wasn't explicitly mentioned
256+ */
257+ if (!(disreplication && intVal (disreplication -> arg ) == 0 ))
258+ isreplication = 1 ;
259+ }
252260 if (dinherit )
253261 inherit = intVal (dinherit -> arg ) != 0 ;
254262 if (dcreaterole )
Original file line number Diff line number Diff line change 5353 */
5454
5555/* yyyymmddN */
56- #define CATALOG_VERSION_NO 201101031
56+ #define CATALOG_VERSION_NO 201101051
5757
5858#endif
Original file line number Diff line number Diff line change @@ -93,7 +93,7 @@ typedef FormData_pg_authid *Form_pg_authid;
9393 * user choices.
9494 * ----------------
9595 */
96- DATA (insert OID = 10 ( "POSTGRES" t t t t t t f - 1 _null_ _null_ ));
96+ DATA (insert OID = 10 ( "POSTGRES" t t t t t t t - 1 _null_ _null_ ));
9797
9898#define BOOTSTRAP_SUPERUSERID 10
9999
You can’t perform that action at this time.
0 commit comments