I created a view as: CREATE OR REPLACE VIEW caviar_schemas AS SELECT n.oid::integer AS schema_id, n.nspname::information_schema.sql_identifier::text AS schema_name FROM pg_namespace n, pg_authid u WHERE n.nspowner = u.oid AND pg_has_role(n.nspowner, 'MEMBER'::text) AND u.rolname::information_schema.sql_identifier::text <> 'postgres'::text ORDER BY n.nspname::information_schema.sql_identifier::text; I then granted Select permissions on both the view and underlying tables to public. When I select form the table as a non super user I get no error, but no rows. Super users select from the view and underlying tables fine. How can I give select only permissions to this view to non super users? Thanks