diff --git a/doc/src/sgml/adminpack.sgml b/doc/src/sgml/adminpack.sgml index 1150b7f5bb..99acabda2d 100644 --- a/doc/src/sgml/adminpack.sgml +++ b/doc/src/sgml/adminpack.sgml @@ -12,7 +12,7 @@ pgAdmin and other administration and management tools can use to provide additional functionality, such as remote management of server log files. - Use of all these functions is only allowed to the superuser by default but may be + Use of all these functions is only allowed to database superusers by default but may be allowed to other users by using the GRANT command. diff --git a/doc/src/sgml/glossary.sgml b/doc/src/sgml/glossary.sgml index d6d0a3a814..9efb694248 100644 --- a/doc/src/sgml/glossary.sgml +++ b/doc/src/sgml/glossary.sgml @@ -233,6 +233,28 @@ + + Bootstrap superuser + + + The very first user created in a + database cluster. + By default this user is named postgres but + the argument to + allows this to be changed. + + + This user owns all system catalog tables in each database. It also is the role + from which all granted permission originate. Because of these things this + role may not be dropped. + + + This role also behaves as a normal + database superuser + + + + Cast @@ -489,6 +511,25 @@ + + Database superuser + + + A role having the superuser . + + + All superusers in the system are collectively referred to as database superusers throughout + the documentation. Any plain use of the term + superuser + can be interpreted to mean database superuser. + + + While the bootstrap superuser is + a database superuser it has special obligations and restrictions that plain database superusers do not. + + + + Data directory @@ -1577,6 +1618,16 @@ + + Superuser + + + As used in this documentation it is a synonym for + database superuser. + + + + System catalog diff --git a/doc/src/sgml/ref/initdb.sgml b/doc/src/sgml/ref/initdb.sgml index 8158896298..2132f32ac2 100644 --- a/doc/src/sgml/ref/initdb.sgml +++ b/doc/src/sgml/ref/initdb.sgml @@ -44,10 +44,13 @@ PostgreSQL documentation Creating a database cluster consists of creating the directories in - which the database data will live, generating the shared catalog + which the cluster data will live, generating the shared catalog tables (tables that belong to the whole cluster rather than to any - particular database), and creating the postgres, - template1, and template0 databases. + particular database), creating the postgres, + template1, and template0 databases, + and creating the + boostrap superuser + (postgres, by default). The postgres database is a default database meant for use by users, utilities and third party applications. template1 and template0 are @@ -64,14 +67,14 @@ PostgreSQL documentation directory of the desired data directory is root-owned. To initialize in such a setup, create an empty data directory as root, then use chown to assign ownership of that directory to the - database user account, then su to become the - database user to run initdb. + cluster user account, then su to become the + cluster user to run initdb. - initdb must be run as the user that will own the - server process, because the server needs to have access to the - files and directories that initdb creates. + initdb must be run as the operating-system user + that will own the server process, because the server needs to have + access to the files and directories that initdb creates. Since the server cannot be run as root, you must not run initdb as root either. (It will in fact refuse to do so.) @@ -79,7 +82,7 @@ PostgreSQL documentation For security reasons the new cluster created by initdb - will only be accessible by the cluster owner by default. The + will only be accessible by the cluster user by default. The option allows any user in the same group as the cluster owner to read files in the cluster. This is useful for performing backups as a non-privileged user. @@ -196,7 +199,7 @@ PostgreSQL documentation initdb, but you can avoid writing it by setting the PGDATA environment variable, which can be convenient since the database server - (postgres) can find the database + (postgres) can find the data directory later by the same variable. @@ -338,7 +341,7 @@ PostgreSQL documentation - Makes initdb read the database superuser's password + Makes initdb read the bootstrap superuser's password from a file. The first line of the file is taken as the password. @@ -349,7 +352,7 @@ PostgreSQL documentation - Safely write all database files to disk and exit. This does not + Safely write all database cluster files to disk and exit. This does not perform any of the normal initdb operations. Generally, this option is useful for ensuring reliable recovery after changing from off to @@ -374,10 +377,11 @@ PostgreSQL documentation - Selects the user name of the database superuser. This defaults - to the name of the effective user running + Selects the user name of the + boostrap superuser. + This defaults to the name of the effective user running initdb. It is really not important what the - superuser's name is, but one might choose to keep the + bootstrap superuser's name is, but one might choose to keep the customary name postgres, even if the operating system user's name is different. @@ -390,7 +394,7 @@ PostgreSQL documentation Makes initdb prompt for a password - to give the database superuser. If you don't plan on using password + to give the bootstrap superuser. If you don't plan on using password authentication, this is not important. Otherwise you won't be able to use password authentication until you have a password set up. @@ -422,7 +426,7 @@ PostgreSQL documentation It may be useful to adjust this size to control the granularity of - WAL log shipping or archiving. Also, in databases with a high volume + WAL log shipping or archiving. Also, in clusters with a high volume of WAL, the sheer number of WAL files per directory can become a performance and management problem. Increasing the WAL file size will reduce the number of WAL files.