Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1iyrsP-0000fM-SE for pgsql-docs@arkaria.postgresql.org; Tue, 04 Feb 2020 06:40:02 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1iyrsN-0007KG-0w for pgsql-docs@arkaria.postgresql.org; Tue, 04 Feb 2020 06:39:59 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1iyrsM-0007Jv-Lh for pgsql-docs@lists.postgresql.org; Tue, 04 Feb 2020 06:39:58 +0000 Received: from mout.kundenserver.de ([212.227.126.131]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1iyrsK-0008Af-17 for pgsql-docs@lists.postgresql.org; Tue, 04 Feb 2020 06:39:57 +0000 Received: from [192.168.178.43] ([77.179.1.203]) by mrelayeu.kundenserver.de (mreue011 [212.227.15.129]) with ESMTPSA (Nemesis) id 1Mzyi6-1jn6sD46ek-00x4s4; Tue, 04 Feb 2020 07:39:52 +0100 Subject: Re: Users/Roles do not align. To: pgsql-docs@lists.postgresql.org References: <158057750885.1123.2806779262588618988@wrigleys.postgresql.org> Cc: jbird@nuna.com From: =?UTF-8?Q?J=c3=bcrgen_Purtz?= Message-ID: <2a273cf6-51be-a25b-5ef6-915ca727d4db@purtz.de> Date: Tue, 4 Feb 2020 07:39:50 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 MIME-Version: 1.0 In-Reply-To: <158057750885.1123.2806779262588618988@wrigleys.postgresql.org> Content-Type: multipart/alternative; boundary="------------4C2EDC4270E55FDC13003B9A" Content-Language: en-US X-Provags-ID: V03:K1:bGdeW/NLpxOwhzCcqcsMWNbQu/ZDxwj5HAGh1H76XP/qiLUbAtc nVQOOPpKsRWZjzGIgjZB2+/7G7w+/fZUq/fQs0wlyOWXoQrLZ18qs6v3AIWymA93xlhSVhT IWq1vyL4iy0ReVCsgph9HHfkj9F9x34WfMOFnwMBdnIl4nDbcP9oTPG9koJj+6zmDRWT+TD 7E6h+ZTdw2lwFNNZLGOjA== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:B95iuokkI+0=:oBsGrJHf5rH8YzPchyX/Al pg18lg/v6WFmRhI1xYiVqksLXoHXQSsMoloQEEwmquLIVrte1mW4VtOyAIk2H/KZ9VKicRoKp mv2icf6KF045ncTHvu61F0RkYzKzKo9bwZ479iXYOR9zdkFm9EMBLnjgjkZ3J4xSofngX8Ylf jJ1/YUcSpZnkl4FYMBI4WCHbZK5n2y8n/1XLRyWeGR3T+c5WOKW5mU7CyM5sT7w49MxEdb3xX elckL8bRjKYOGZWw+/gH9gPwx3M+drEW5gDR2JahJrgu2fVjv2FojIKuzQkItyJIqQ9VK2A5S lzlWSskbByCy0z2dFC/e7AYyx1r+vN890M8vlFPSpgOrcBDvrrLCZKQVk6Nq+KJbpnwFzrh53 PjtdPgsXxjKhB4FxwkF9jc5g2ZEsKYsh3ItFMl7RrCTc1MtSuHZebPGpp0kx2a9bYx3yk5bFZ iXGYKIc7AbwgEm9pVuGuImmmKPAcODiJND9pNjFkSjapUO35I0wtMFf/Cwt9wQT4sS7/3fkh3 44bAwD71lEJf7IqA1nTild2Xzgo7hDP/QW4LmFmNNUyBft2LnHsiO59ri95AArGydt2mxABmU NMxHbQkNOSCcGEj5FjxwuSZO3fB6b0x3GybGA0DBBs3CeChzKW3QR5GYJJxHHY0DDeCTeJI9a KVYr4tMLEz5SxJy7r7yCI3cqXiICAVv0V6GZXsmDKV7js1OTdiRhy5B2egQmJtpeSs423BAVj YBpU02800DV+vx2btYpvcVlgzyrXm5baK+ptdvXZk+wnysCNVrm78cq+6F50z0Q/jLeHzVzgn hQXnEk1Wxu/5pDSySkqyCAyJ9l6fXn5SnvvW9c3vO43Fn7Vr93tuOYLhHCZx7HQIXtcR5fi List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk This is a multi-part message in MIME format. --------------4C2EDC4270E55FDC13003B9A Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit > Based on this, I believe Section 5.9 should read: > `A PostgreSQL database cluster contains one or more named databases. Roles > 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.` imo the following is a more precise wording: 'A cluster contains three or more named databases ('template0', 'template1', 'postgres', ...). Roles, which are users or groups, see Chapter 21, - as well as database names and tablespace definitions - are shared across the entire cluster. No other data is shared across databases or schemas. Any given client connection to the server can access only the data in a single database, the one specified in the connection request. If it has the necessary privileges, the connection can access all schemas within this database.' And the last sentence of the paragraph behind 'Note' shall be extended, because schemas are rigidly separated from each other - only the access to different schemas is easily done from a single connection. 'Unlike _access to_ databases, _access to_ schemas is not rigidly separated: a _connection_ can access objects in any of the schemas in the database they are connected to, if they have privileges to do so.' J. Purtz --------------4C2EDC4270E55FDC13003B9A Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 7bit
Based on this, I believe Section 5.9 should read:
`A PostgreSQL database cluster contains one or more named databases. Roles
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.`

imo the following is a more precise wording:

'A cluster contains three or more named databases ('template0', 'template1', 'postgres', ...). Roles, which are users or groups, see Chapter 21, - as well as database names and tablespace definitions - are shared across the entire cluster. No other data is shared across databases or schemas. Any given client connection to the server can access only the data in a single database, the one specified in the connection request. If it has the necessary privileges, the connection can access all schemas within this database.'

And the last sentence of the paragraph behind 'Note' shall be extended, because schemas are rigidly separated from each other - only the access to different schemas is easily done from a single connection.

'Unlike access to databases, access to schemas is not rigidly separated: a connection can access objects in any of the schemas in the database they are connected to, if they have privileges to do so.'


J. Purtz

--------------4C2EDC4270E55FDC13003B9A--