Доступ к 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 ответ:
Настройки
pg_hba.conf
принимаетpeer
Подключение через unix-сокеты илиident
связиhost
(ПТС) соединений. Если вы предпочитаете, вы можете использоватьmd5
для аутентификации по паролю.По умолчанию
psql
будет соединяться с тем же именем пользователя, что и имя пользователя локальной ОС; это может быть переопределено флагом-U
, например:Обратите внимание, что этоpsql -U myusername thedatabase
-U
не-u
(это верхний регистр).Все это подробно описано в документации PostgreSQL; смотрите:
Кстати, если вы хотите выполнять команды как пользователь
postgres
, а неsu
, вы можете просто написать:sudo -u postgres psql