Hi,
I create a role "test" and it can't (intentionally) login. But why does has_database_privilege() return true if "test"
can'tconnect to the cluster and can't use any database? Is this a bug or am I doing something strange here? Any ideas?
I'm on PostgreSQL 12.4.
Cheers,
Paul
postgres=# create role "test";
CREATE ROLE
postgres=# \du test
List of roles
Role name | Attributes | Member of
-----------+--------------+-----------
test | Cannot login | {}
postgres=# select has_database_privilege('test', 'postgres', 'connect');
has_database_privilege
------------------------
t
(1 row)
postgres=# select has_database_privilege('test', 'db01', 'connect');
has_database_privilege
------------------------
t
(1 row)
...
postgres=# select datname from pg_database;
datname
-----------
db02
template0
template1
postgres
db01
(5 rows)