Peter Eisentraut wrote:
Milen Dzhumerov wrote:
Unfortunately if I try to submit it, it gives me some
error.
You need to post your exact input and the exact output. Otherwise we're
just guessing.
My other
question is who has access to the pg_catalog.* tables?
Everybody.
And are these tables per database
or shared across PgSQL?
Most of them are per database, only a few of them are shared.
Is is true that every user can check if
he/she has access to a particular table and examine the ACL string?
Yes.
And how can I determine if a user can change permissions for other
users?
You can check the grant options available to the user.
I just worked out the query which does the job and wanted to post it so
if anyone wants in the future can refer to this thread. Here's the query:
SELECT pg_catalog.pg_class.relacl AS permissions FROM
pg_catalog.pg_class WHERE pg_catalog.pg_class.relname = 'table_name' AND
pg_catalog.pg_class.relnamespace IN (SELECT pg_catalog.pg_namespace.oid
FROM pg_catalog.pg_namespace WHERE pg_catalog.pg_namespace.nspname =
'schema_name');
Kind regards,
gamehack