On Wed, Nov 9, 2016 at 2:05 PM, Fran ... <Bryan691@xxxxxxxxxxx> wrote:
Hi,
I am a new user with PostgreSQL, I came from MySQL and I am experiencing some issues with roles and privileges.
I have created a DB,user and grant privilege on this DB to this user. How could I check what is the privileges/permissions for this user?
Transcript:
postgres=# create database test;CREATE DATABASEpostgres=# create user test with password 'test';CREATE ROLEpostgres=# grant all privileges on database test to test;GRANTpostgres=# \lList of databasesName | Owner | Encoding | Collate | Ctype | Access privileges-----------+----------+----------+-------------+------------ -+----------------------- postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +| | | | | postgres=CTc/postgrestemplate1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +| | | | | postgres=CTc/postgrestest | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =Tc/postgres +| | | | | postgres=CTc/postgres+| | | | | test=CTc/postgrestest1 | test1 | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =Tc/test1 +| | | | | test1=CTc/test1(5 rows)
With "\l" command It's no clear.
Finally, I don't find some command like "show grants for..." in MySQL.
Regards.
Bryan
You can use the following query to show what table <USERNAME> can access.
Just replace <USERNAME> with the actual username you want.
SELECT *
FROM information_schema.table_privileges
WHERE grantee = '<USERNAME>'
ORDER BY table_schema,table_name, privilege_type;
--
Melvin Davidson
I reserve the right to fantasize. Whether or not you
wish to share my fantasy is entirely up to you.
I reserve the right to fantasize. Whether or not you
wish to share my fantasy is entirely up to you.