Here is the extract of documentation relative to GRANT UPDATE
UPDATE
Allows UPDATE of any column, or the specific columns
listed, of the specified table. (In practice, any nontrivial UPDATE command will require SELECT privilege
as well, since it must reference table columns to determine which rows to update, and/or to compute new values for columns.) SELECT ... FOR UPDATE and SELECT
... FOR SHARE also require this privilege on at least one column, in addition to the SELECT privilege.
For sequences, this privilege allows the use of the nextval and setval functions.
For large objects, this privilege allows writing or truncating the object.
Regards,
Patrick Fiche
Database Engineer, Aqsacom Sas.
c. 33 6 82 80 69 96
From: Ron <ronljohnsonjr@xxxxxxxxx>
Sent: Thursday, April 4, 2019 2:50 PM
To: pgsql-general@xxxxxxxxxxxxxxxxxxxx
Subject: Re: dbuser acess privileges
You'd think the implicit SELECT perm of that table for the explicit use of UPDATE would be covered by GRANT UPDATE.
On 4/4/19 7:25 AM, Patrick FICHE wrote:
Hi,
If I’m not wrong, UPDATE requires SELECT permission as the UPDATE statement needs to read the data to be updated.
So, you should probably add GRANT SELECT and you get it work.
Regards,
Patrick Fiche
Database Engineer, Aqsacom Sas.
c. 33 6 82 80 69 96
From: Durgamahesh Manne
<maheshpostgres9@xxxxxxxxx>
Sent: Thursday, April 4, 2019 12:07 PM
To: pgsql-general@xxxxxxxxxxxxxxxxxxxx
Subject: dbuser acess privileges
hi
Respected international pgsql team
pershing=# grant INSERT on public.hyd to ravi;
i have granted insert command access to non superuser(ravi)
pershing=> insert into hyd (id,name) values('2','delhi');
pershing=# grant UPDATE on public.hyd to ravi;
i have granted update command access to non superuser(ravi)
pershing=> update public.hyd set id = 3 where name = 'hyderabad';
ERROR: permission denied for relation hyd
please let me know what is the issue with update command
--
Angular momentum makes the world go 'round.