doc: clarify hierarchy of objects: global, db, schema, etc.
authorBruce Momjian <bruce@momjian.us>
Tue, 31 Mar 2020 22:10:39 +0000 (18:10 -0400)
committerBruce Momjian <bruce@momjian.us>
Tue, 31 Mar 2020 22:10:39 +0000 (18:10 -0400)
The previous wording was confusing because it wasn't in decreasing order
and had to backtrack.  Also clarify role/user wording.

Reported-by: jbird@nuna.com
Discussion: https://postgr.es/m/158057750885.1123.2806779262588618988@wrigleys.postgresql.org

Backpatch-through: 9.5

doc/src/sgml/ddl.sgml
doc/src/sgml/manage-ag.sgml

index d2588876c00379228f338f6efca09526984ff17e..ab2764531908354e2c63ae142e96dada6176c8cc 100644 (file)
@@ -2625,19 +2625,18 @@ SELECT * FROM information WHERE group_id = 2 FOR UPDATE;
   </indexterm>
 
   <para>
-   A <productname>PostgreSQL</productname> database cluster
-   contains one or more named databases.  Users and groups of users are
-   shared across the entire cluster, but no other data is shared across
-   databases.  Any given client connection to the server can access
-   only the data in a single database, the one specified in the connection
-   request.
+   A <productname>PostgreSQL</productname> database cluster contains
+   one or more named databases.  Roles and a few other object types are
+   shared across the entire cluster.  A client connection to the server
+   can only access data in a single database, the one specified in the
+   connection request.
   </para>
 
   <note>
    <para>
     Users of a cluster do not necessarily have the privilege to access every
-    database in the cluster.  Sharing of user names means that there
-    cannot be different users named, say, <literal>joe</literal> in two databases
+    database in the cluster.  Sharing of role names means that there
+    cannot be different roles named, say, <literal>joe</literal> in two databases
     in the same cluster; but the system can be configured to allow
     <literal>joe</literal> access to only some of the databases.
    </para>
index b1b8539fb3a52c335d69cb44e6e49061de6a6c21..01453e6dae72e1577fc3d0b218c59616f2fd55d2 100644 (file)
   </indexterm>
 
   <para>
-   A database is a named collection of <acronym>SQL</acronym> objects
-   (<quote>database objects</quote>).  Generally, every database
-   object (tables, functions, etc.) belongs to one and only one
-   database.  (However there are a few system catalogs, for example
-   <literal>pg_database</literal>, that belong to a whole cluster and
-   are accessible from each database within the cluster.)  More
-   accurately, a database is a collection of schemas and the schemas
-   contain the tables, functions, etc.  So the full hierarchy is:
-   server, database, schema, table (or some other kind of object,
+   A small number of objects, like role, database, and tablespace
+   names, are defined at the cluster level and stored in the
+   <literal>pg_global</literal> tablespace.  Inside the cluster are
+   multiple databases, which are isolated from each other but can access
+   cluster-level objects.  Inside each database are multiple schemas,
+   which contain objects like tables and functions.  So the full hierarchy
+   is: cluster, database, schema, table (or some other kind of object,
    such as a function).
   </para>