public inbox for [email protected]  
help / color / mirror / Atom feed
From: Adrian Klaver <[email protected]>
To: Matt Zagrabelny <[email protected]>
To: David G. Johnston <[email protected]>
Cc: pgsql-generallists.postgresql.org <[email protected]>
Subject: Re: grant connect to all databases
Date: Sat, 5 Oct 2024 08:27:21 -0700
Message-ID: <[email protected]> (raw)
In-Reply-To: <CAOLfK3XOHnyWsLv_CdFAegWg1FgM3AK3WsO_r+rXSNjp8TQXcg@mail.gmail.com>
References: <CAOLfK3Vj-PFBJi28y1170ZP3dGeW2qpG_8_9CbaJWvEgXQ8-jQ@mail.gmail.com>
	<CAKFQuwYG8uQhN50MgcF1seg8+dwvgTMFez=wA3Rg2rosob78cg@mail.gmail.com>
	<CAOLfK3XOHnyWsLv_CdFAegWg1FgM3AK3WsO_r+rXSNjp8TQXcg@mail.gmail.com>

On 10/5/24 07:13, Matt Zagrabelny wrote:
> Hi David (and others),
> 
> Thanks for the info about Public.
> 
> I should expound on my original email.
> 
> In our dev and test environments our admins (alice, bob, eve) are 
> superusers. In production environments we'd like the admins to be read-only.

What are the REVOKE and GRANT commands you use to achieve that?

> 
> Is the Public role something I can leverage to achieve this desire?

You should read:

https://www.postgresql.org/docs/current/ddl-priv.html


 From your original post:

"but I cannot connect to my database"

Was that due to a GRANT issue or a pg_hba.conf issue?

What was the actual complete error?

> 
> Thanks for the help!
> 
> -m
> 
> 
> 
> On Sat, Oct 5, 2024 at 9:02 AM David G. Johnston 
> <[email protected] <mailto:[email protected]>> wrote:
> 
>     On Saturday, October 5, 2024, Matt Zagrabelny <[email protected]
>     <mailto:[email protected]>> wrote:
> 
>         Hello,
> 
>         I'd like to have a read-only user for all databases.
> 
>         I found the pg_read_all_data role predefined role, which I
>         granted to my RO user:
> 
>         GRANT pg_read_all_data TO ro_user;
> 
>         ...but I cannot connect to my database(s).
> 
>         I'd like to not have to iterate over all the databases and
>         "GRANT CONNECT...".
> 
>         Is there a way to do this with just one GRANT or equivalent command?
> 
> 
> 
>     The pseudo-role Public exists for just this kind of thing.  In fact,
>     in a default installation it already is given connect privileges on
>     all databases created by the bootstrap superuser.
> 
>     David J.
> 

-- 
Adrian Klaver
[email protected]







view thread (3+ messages)

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected], [email protected], [email protected]
  Subject: Re: grant connect to all databases
  In-Reply-To: <[email protected]>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox