Согласно документации есть две возможные привилегии для схемы CREATE | USAGE
, где CREATE allows new objects to be created within the schema
(что вам нужно предотвращать ) и USAGE allows access to objects contained in the specified schema
(что вы хотите keep ).
Так что вам нужно REVOKE CREATE ON SCHEMA ... FROM ...
и GRANT USAGE ON SCHEMA ... TO ...
Но, перед этим, будьте осторожны с привилегиями, предоставленными для PUBLIC , вероятно, вам нужно отозвать все эти разрешения на PUBLIC и предоставить их нужным пользователям.