KaiGai Kohei <kai...@ak.jp.nec.com> wrote: > Tom Lane wrote: > > Takahiro Itagaki <itagaki.takah...@oss.ntt.co.jp> writes: > >> <structname>pg_largeobject</structname> should not be readable by the > >> public, since the catalog contains data in large objects of all users. > > > > This is going to be a problem, because it will break applications that > > expect to be able to read pg_largeobject. Like, say, pg_dump. > > Is it a right behavior, even if we have permission checks on large objects?
Can we use column-level access control here? REVOKE ALL ON pg_largeobject FROM PUBLIC; => GRANT SELECT (loid) ON pg_largeobject TO PUBLIC; We use "SELECT loid FROM pg_largeobject LIMIT 1" in pg_dump. We could replace pg_largeobject_metadata instead if we try to fix only pg_dump, but it's no wonder that any other user applications use such queries. I think to allow reading loid is a balanced solution. > If so, we can inject a hardwired rule to prevent to select pg_largeobject > when lo_compat_privileges is turned off, instead of REVOKE ALL FROM PUBLIC. Is it enough to run "GRANT SELECT ON pg_largeobject TO PUBLIC" ? Regards, --- Takahiro Itagaki NTT Open Source Software Center -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers