Обсуждение: How to avoid having to run the GRANT command for newly added tables?

Поиск
Список
Период
Сортировка

How to avoid having to run the GRANT command for newly added tables?

От
Siddharth Jain
Дата:
Hello - I have a Postgres 14 server. I created a database and then gave all privileges to tables in the database to a user as shown below:
grant connect on database testdb to test_user;
GRANT all ON ALL TABLES IN SCHEMA "public" TO test_user;
I now verified that test_user is able to access an EXISTING table:
select count(*) from test;
 count
-------
     0
(1 row)
However when the postgres superuser creates a NEW table:
create table test2( id integer primary key);
CREATE TABLE
the test_user is not able to access it:
select count(*) from test2;
ERROR:  permission denied for table test2
This is really inconvenient for me and I'd like to avoid having to run the GRANT command again and again after creating new tables. Is there any way to accomplish what I want? Thanks.

Re: How to avoid having to run the GRANT command for newly added tables?

От
Christophe Pettus
Дата:

> On Nov 23, 2022, at 12:06, Siddharth Jain <siddhsql@gmail.com> wrote:
> Is there any way to accomplish what I want? Thanks.

There is:

    https://www.postgresql.org/docs/current/sql-alterdefaultprivileges.html



Re: How to avoid having to run the GRANT command for newly added tables?

От
Siddharth Jain
Дата:
Thanks Christophe. it works.

On Wed, Nov 23, 2022 at 12:08 PM Christophe Pettus <xof@thebuild.com> wrote:


> On Nov 23, 2022, at 12:06, Siddharth Jain <siddhsql@gmail.com> wrote:
> Is there any way to accomplish what I want? Thanks.

There is:

        https://www.postgresql.org/docs/current/sql-alterdefaultprivileges.html