Обсуждение: table permissions
Hi everybody, I can't seem to figure this one out. I have a superuser root and a regular user oleg. I am trying to insert a new row in table Set, which references table Activity, being logged in as root. I get an error saying: activity: Permission denied. This is very weird because root has all the permissions on every table in the database. Even more strange is that as soon as I grant DELETE privilege to user oleg, the problem disappears and I can add a row to the Set table. Does anybody know how to solve this problem? Should I upgrade my PostgreSQL version? I am currently using v 7.1.2 thanks, Oleg
Oleg Lebedev <olebedev@waterford.org> writes:
> I have a superuser root and a regular user oleg. I am trying to insert a
> new row in table Set, which references table Activity, being logged in
> as root. I get an error saying:
> activity: Permission denied.
> This is very weird because root has all the permissions on every table
> in the database. Even more strange is that as soon as I grant DELETE
> privilege to user oleg, the problem disappears and I can add a row to
> the Set table.
Evidently the update is being done under privileges of user oleg.
Are you using a view, rule, function, trigger, etc somewhere in there?
I doubt this would happen with a straightforward INSERT typed at the
command line, but if the insert command is in a rule or function owned
by oleg, the game is different ...
regards, tom lane
Tom, you were right, some of the tables were owned by oleg. I changed it and now it works fine. So, in order for the table to be updated successfully, it's owner and updating user must have permissions to do that, right? thanks a lot, Oleg Tom Lane wrote: > Oleg Lebedev <olebedev@waterford.org> writes: > > I have a superuser root and a regular user oleg. I am trying to insert a > > new row in table Set, which references table Activity, being logged in > > as root. I get an error saying: > > activity: Permission denied. > > This is very weird because root has all the permissions on every table > > in the database. Even more strange is that as soon as I grant DELETE > > privilege to user oleg, the problem disappears and I can add a row to > > the Set table. > > Evidently the update is being done under privileges of user oleg. > Are you using a view, rule, function, trigger, etc somewhere in there? > I doubt this would happen with a straightforward INSERT typed at the > command line, but if the insert command is in a rule or function owned > by oleg, the game is different ... > > regards, tom lane
I had similar problems, especially when granting DELETE permissions insert commands worked as intended. And I did not mess with any config files. Regards, Christoph > Hi everybody, > I can't seem to figure this one out. > I have a superuser root and a regular user oleg. I am trying to insert a > new row in table Set, which references table Activity, being logged in > as root. I get an error saying: > activity: Permission denied. > This is very weird because root has all the permissions on every table > in the database. Even more strange is that as soon as I grant DELETE > privilege to user oleg, the problem disappears and I can add a row to > the Set table. > Does anybody know how to solve this problem? > Should I upgrade my PostgreSQL version? I am currently using v 7.1.2