Olleg Samoylov wrote:
Quote:
Richard Huxton wrote:
That's not a bug, it's a feature (as they say). I suppose you could
argue that a sequence only used by one table could inherit that
table's permissions by default, but I can see problems when people
reorder GRANT statements.
It's not feature, it's bug. From postgresql documentation 33.4. Rules
and Privileges:
quote> Relations that are used due to rules get checked against the
privileges of the rule owner, not the user invoking the rule. This means
that a user only needs the required privileges for the tables/views that
he names explicitly in his queries.</quote
This dont' true for tables with serial fields. |
Hmm - perhaps the documentation needs expanding. Certainly, if your view
references functions you need to make sure permissions are set correctly
on those.
How about changes along the lines of:
Ch 33.4, para 2
"... Relations that are used due to rules get checked against the
privileges of the rule owner, not the user invoking the rule. This means
that a user only needs the required privileges for the objects[1] that
he names explicitly in his queries."
then
"[1] This includes permissions on tables and views you reference in your
view definition. It might also include execute permissions on any
functions referenced, and for updates, permissions on any sequences.
This includes sequences automatically created by use of the SERIAL type."
Perhaps we should also have a reminder to read the rules chapter in the
serial description (ch 8.1.4)
--
Richard Huxton
Archonet Ltd
---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" to majordomo (AT) postgresql (DOT) org)