Я хочу создать пользователя и базу данных на сервере Linux. Я могу создать пользователя со следующим кодом:
su - postgres
# createuser -S -D -R myUser
но когда я попытался создать базу данных с кодом:
# createdb -U myUser -p 5432 myDatabase
Я получаю следующую ошибку:
createdb: could not connect to database postgres: FATAL: Ident authentication failed for user "myUser"
Я новичок в Linux, поэтому я не могу понять, почему мне удалось создать пользователя, но при создании базы данных возникает ошибка соединения с postgres. А также ошибка аутентификации идентификатора для пользователя.
вы должны добавить настройку аутентификации на свой
~ postgres / ВЕРСИЯ / данные / pg_hba.conf
e.g: for localhost
host all all 127.0.0.1/32 ident
e.g: full conf:
local all all ident
host all all 127.0.0.1/32 ident
host all myUser 127.0.0.1/32 ident
затем перезагрузите postgres
Вам нужно узнать больше о конфигурации HBA.
Есть несколько основных методов аутентификации:
su - postgres
) системный пользователь (имя которого совпадает с именем роли) может подключитьсяКаждый раз, когда вы пытаетесь подключиться к бетону роль и база данных даже если не пишите явно.
Обычно бывает два типа подключения:
Если вы не знаете, что используете, то это местное. Чтобы использовать соединение TCP / IP, вам необходимо указать параметр -h с целевым IP-адресом, который прослушивает postmaster. Например, вы можете добавить -h localhost или -h 127.0.0.1, но проверьте свойство listen_adresses (значение AFAIK по умолчанию - localhost, так что все в порядке) в postgresql.conf и принятый IP-адрес (а) клиента в HBA.
http://www.postgresql.org/docs/9.0/static/auth-pg-hba-conf.html