Нет смысла пытаться удержать других от просмотра метаданных базы данных или пользователя, не пытайтесь.PostgreSQL не поддерживает это.
Вы создаете пользователя («роль входа») с
CREATE ROLE user1a LOGIN;
Что касается разрешений, сначала вы должны удалить привилегию по умолчанию, которая позволяет каждомуподключиться к базе данных:
REVOKE CONNECT, TEMP ON DATABASE databasea FROM PUBLIC;
Затем вы должны специально разрешить нужным пользователям:
GRANT CONNECT ON DATABASE databasea TO usera1, usera2, usera3;
Если у вас много пользователей или пользователи часто меняются, лучшеиспользуйте группу («роль nologin»), обладающую привилегией CONNECT
, и добавьте пользователей в группу.
Необходимо настроить pg_hba. conf
, чтобы пользователям было разрешено проходить аутентификацию, см.документация.