У меня есть созданный пользователь только для чтения с приведенными ниже командами
CREATE ROLE read_only WITH LOGIN PASSWORD 'password'
NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION VALID UNTIL
'infinity';
Тогда я дал разрешение на выбор
GRANT USAGE ON SCHEMA public TO read_only;
GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO read_only;
GRANT SELECT ON ALL TABLES IN SCHEMA public to read_only;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO
read_only;
Мое требование: всякий раз, когда добавляется новая схема, она должна наследовать разрешения для пользователя read_only. В настоящее время я вручную назначаю эти разрешения для новой схемы.