On 11/09/2016 11:05 AM, Fran ... 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 DATABASE
> postgres=# create user test with password 'test';
> CREATE ROLE
> postgres=# grant all privileges on database test to test;
> GRANT
My guess is the above is not doing what you think it is. See further
comments below for seeing what 'grant all privileges on database' gets you.
> postgres=# \l
> List of databases
> Name | 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/postgres
> template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
> =c/postgres +
> | | | | |
> postgres=CTc/postgres
> test | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
> =Tc/postgres +
> | | | | |
> postgres=CTc/postgres+
> | | | | |
> test=CTc/postgres
> test1 | test1 | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =Tc/test1
> +
> | | | | |
> test1=CTc/test1
> (5 rows)
>
> With "\l" command It's no clear.
To understand the abbreviations see here:
https://www.postgresql.org/docs/9.5/static/sql-grant.html
Look for:
"The entries shown by \dp are interpreted thus:"
>
>
> Finally, I don't find some command like "show grants for..." in MySQL.
>
>
> Regards.
>
> Bryan
>
--
Adrian Klaver
adrian.klaver@aklaver.com