> I am just beginning to investigate schemas, and have run into a
> problem. Searching the mailing lists and documentation doesn't help.
>
> This is 7.3.3 on Linux, kernel 2.4.21, good ole Slackware, compiled
> from source.
>
> Two users, JoeBob and MaryJo. JoeBob has schema xyzzy with table
> plugh. JoeBob has run
>
> GRANT SELECT on xyzzy.plugh TO public;
>
> JoeBob and MaryJo can both show permissions:
>
> joebob=> \z zyzzy.*
> Access privileges for database "joebob"
> Schema | Table | Access privileges
> --------+--------+--------------------
> xyzzy | plugh | {=r,joebob=arwdRxt}
>
> JoeBob can do anything with the table, that works. But MaryJo can't
> even select:
>
> joebob=> select * from xyzzy.plugh;
> ERROR: xyzzy: permission denied
>
> It sure looks like the schema itself is invisible to MaryJo, but
> MaryJo can run \dt xyzzy.* perfectly fine.
I think there is a "greant usage on schema" type statement that you
probably need.