Доступ к postgres без корневых пользователей


Я создал базу данных postgres в postgres с именем "databaseName". Теперь я могу получить доступ к этой data2database через

 su - postgres

А затем набираю свой пароль

Затем я вхожу в базу данных через: psql databaseName

Я создал пользователей этой базы данных через:

   createuser -P userName1

Теперь я не хочу, чтобы пользователи базы данных обращались к ней как к корневому пользователю. Теперь, когда пользователи пытаются войти в postgres как

 su - postgres -u userName1 
        or through
 psql databaseName -u userName1

Я получаю ошибку...может ли кто-нибудь направлять меня? как пользователи могут получить доступ к postgres и базе данных, не будучи пользователем root?

1 2

1 ответ:

Настройки pg_hba.conf принимает peer Подключение через unix-сокеты или ident связи host (ПТС) соединений. Если вы предпочитаете, вы можете использовать md5 для аутентификации по паролю.

По умолчанию psql будет соединяться с тем же именем пользователя, что и имя пользователя локальной ОС; это может быть переопределено флагом -U, например:

psql -U myusername thedatabase
Обратите внимание, что это -U не -u (это верхний регистр).

Все это подробно описано в документации PostgreSQL; смотрите:

Кстати, если вы хотите выполнять команды как пользователь postgres, а не su, вы можете просто написать:

sudo -u postgres psql