I can not reproduce your issue. I have a standard read-only user. I connect
from qgis to postgres with that user and I can not even enable editing in
qgis (the "pencil" button is disabled). I'm on Linux, postgres 9.4, qgis
2.14. It sounds like your pgadmin is working as expected so I would suggest
that you double check your qgis configuration.

Rich


On Fri, Mar 17, 2017 at 9:45 AM, Osahon Oduware <oduwareosa...@gmail.com>
wrote:

> Hi Tim,
>
> Ok, thanks for your help.
>
> On Fri, Mar 17, 2017 at 4:32 PM, HEARNE, TIMOTHY S <th1...@att.com> wrote:
>
>> I am unfamiliar with the QGIS product.  If when you logon using pgAdmin,
>> you can’t change the field / column then it is probably not a configuration
>> issue on the database side.
>>
>> It may be related to how the QGIS tool is configured and the permissions
>> necessary to use the tool.  You may want to review how the tool was
>> installed or possibly contact their discussion group.
>>
>> *Tim Hearne*
>>
>> PROPRIETARY INFORMATION
>> The Information contained herein is for use only by authorized employees
>> of AT&T, and authorized
>>
>> Affiliates of AT&T, and is not for general distribution within or outside
>> the respective companies
>>
>>
>>
>> *From:* Osahon Oduware [mailto:oduwareosa...@gmail.com]
>> *Sent:* Friday, March 17, 2017 8:22 AM
>> *To:* HEARNE, TIMOTHY S <th1...@att.com>; pgadmin-support@postgresql.org
>> *Subject:* Fwd: [pgadmin-support] QGIS Seem To Bypass PostgreSQL/PostGIS
>> User Privileges/Permissions
>>
>>
>>
>> I would like to know why the privileges/permission is working when tested
>> with pgAdmin/pgsql, but it is not working with the same user/schema/table
>> in QGIS.
>>
>>
>>
>> ---------- Forwarded message ----------
>> From: *Osahon Oduware* <oduwareosa...@gmail.com>
>> Date: Fri, Mar 17, 2017 at 4:17 PM
>> Subject: Re: [pgadmin-support] QGIS Seem To Bypass PostgreSQL/PostGIS
>> User Privileges/Permissions
>> To: "HEARNE, TIMOTHY S" <th1...@att.com>, pgadmin-support@postgresql.org
>>
>> I can confirm that the user is not a superuser. This is the script
>> generated for the user:
>>
>> CREATE USER <username> WITH LOGIN NOSUPERUSER INHERIT NOCREATEDB
>> NOCREATEROLE NOREPLICATION;
>>
>>
>>
>> GRANT <role_name> TO <username>;
>>
>> **Where <role_name> is as created in previous mail
>>
>>
>>
>>
>>
>> On Fri, Mar 17, 2017 at 4:08 PM, HEARNE, TIMOTHY S <th1...@att.com>
>> wrote:
>>
>> If you created with superuser, it will have access to everything in the
>> instance by default. Your example below does not include the SUPERUSER key
>> word; however, as mine does below:
>>
>> create user operator with password 'xxxxxxx' *superuser* createdb
>> inherit login createrole;
>>
>>
>>
>> From the documentation (https://www.postgresql.org/do
>> cs/9.2/static/sql-createrole.html
>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.postgresql.org_docs_9.2_static_sql-2Dcreaterole.html&d=DwMFaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=n2Q7S8Qn9NmqgTstKR1X0A&m=nCEF4OUozaynmdnEsgNOZ5S3DG9ndXxyEmyuL78M90c&s=YYwNdtp-rn7Phou16wd5DvMhPjg6LybPxxMfISg0N18&e=>
>> ):
>>
>> SUPERUSER
>> NOSUPERUSER
>>
>> These clauses determine whether the new role is a "superuser", who can
>> override all access restrictions within the database. Superuser status is
>> dangerous and should be used only when really needed. You must yourself be
>> a superuser to create a new superuser. If not specified, NOSUPERUSER is
>> the default.
>>
>>
>>
>> If you have any questions, please feel free to contact me.
>>
>> *Tim Hearne*
>>
>> PROPRIETARY INFORMATION
>> The Information contained herein is for use only by authorized employees
>> of AT&T, and authorized
>>
>> Affiliates of AT&T, and is not for general distribution within or outside
>> the respective companies
>>
>>
>>
>> *From:* Osahon Oduware [mailto:oduwareosa...@gmail.com]
>> *Sent:* Friday, March 17, 2017 8:01 AM
>> *To:* HEARNE, TIMOTHY S <th1...@att.com>
>> *Subject:* Re: [pgadmin-support] QGIS Seem To Bypass PostgreSQL/PostGIS
>> User Privileges/Permissions
>>
>>
>>
>> Hi,
>>
>>
>>
>> Thanks for your prompt response. The user was created with the postgres
>> user (superuser) as below:
>>
>>
>>
>> CREATE USER <username> WITH PASSWORD '<password>'
>>
>>
>>
>>
>>
>> On Fri, Mar 17, 2017 at 3:56 PM, HEARNE, TIMOTHY S <th1...@att.com>
>> wrote:
>>
>> Did you create the user with SUPERUSER or some other elevated privilege?
>> Since you did not include the script for the user, it is hard to determine
>> the exact root cause.
>>
>> If you have any questions, please feel free to contact me.
>>
>> *Tim Hearne*
>>
>> PROPRIETARY INFORMATION
>> The Information contained herein is for use only by authorized employees
>> of AT&T, and authorized
>>
>> Affiliates of AT&T, and is not for general distribution within or outside
>> the respective companies
>>
>>
>>
>> *From:* pgadmin-support-ow...@postgresql.org [mailto:
>> pgadmin-support-ow...@postgresql.org] *On Behalf Of *Osahon Oduware
>> *Sent:* Friday, March 17, 2017 7:46 AM
>> *To:* pgadmin-support@postgresql.org
>> *Subject:* [pgadmin-support] QGIS Seem To Bypass PostgreSQL/PostGIS User
>> Privileges/Permissions
>>
>>
>>
>> Hi All,
>>
>>
>>
>> I created a "Read-only" User in PostgreSQL via a Role with "SELECT" ONLY
>> privilege on all tables in a schema as shown below:
>>
>>
>>
>> GRANT SELECT ON ALL TABLES IN SCHEMA [schema_name] TO [role_name]
>>
>> GRANT [role_name] TO [user_name]
>>
>>
>>
>> Next, I test this by trying to UPDATE a column in a table (same schema as
>> above) with pgAdmin/psql and this works fine by giving a response that the
>> user has no permission - 'ERROR: permission denied for relation
>> <table_name>.'
>>
>>
>>
>> Next, I connect with the same user in QGIS and add a layer from the same
>> table (same schema as above). I open the attribute table for the layer,
>> turn on editing mode (by clicking on the pencil-like icon), and edit the
>> same field/column above. To my surprise, the edit was saved successfully
>> without any permission error prompt.
>>
>>
>>
>> Next, I check the value of the field/column (same table/schema as above)
>> in pgAdmin/psql and it is having the new (edited) value from QGIS. This is
>> rather strange as it seems QGIS is bypassing the permissions set for the
>> same user in the PostgreSQL/PostGIS database.
>>
>>
>>
>> I will be glad if someone can help me unravel this mystery.
>>
>>
>>
>>
>>
>>
>>
>
>


-- 
Richard W. Greenwood, PLS
www.greenwoodmap.com

Reply via email to