Hello!
In version 7.2 there are new schema-level privileges described here:
SELECT
Allows the user to perform a SELECT on any column of any table in the schema.
But if I give SELECT to user on schema, it can't select from any table in that schema.
Granting schema-level SELECT doesn't enable user to select from tables in that schema, and revoking it doesn't restrict from selecting from tables in that schema either, if that user has been given table-level SELECT privileges.
Furthermore, there is another page in the documentation:
It says
A user can be granted one of the following privileges through the GRANT statement:
Privilege Description
CREATE
Allows the user to create new objects within the schema. This includes the ability to create a new object, rename existing objects, and move objects into the schema from other schemas.
USAGE
Permission to select, access, alter, and drop objects in the schema. The user must also be granted access to the individual objects in order to alter them. For example, a user would need to be granted USAGE on the schema and SELECT on a table to be able to select data from a table. You receive an error message if you attempt to query a table that you have SELECT privileges on, but do not have USAGE privileges for the schema that contains the table.
And nothing is said about SELECT, INSERT, UPDATE, DELETE privileges from the first page.
So there is new schema-level GRANT syntax in 7.2, but it is effectively useless? Or does it work in some other tricky way?