Я пытаюсь настроить PostgreSQL на CentOS (к которому я подключаюсь через SSH). Мне нужно распаковать пакет (чтобы не загружать через yum или rpm): http://get.enterprisedb.com/postgresql/postgresql-9.3.4-3-linux-x64-binaries.tar.gz и настроить это.
Я разархивировал и запустил следующее
./postgresql-9.3/bin/initdb -D data/
./postgresql-9.3/bin/postgres -D data/
Когда я пытаюсь бежать ./postgresql-9.3/bin/psql
или createuser
Меня спрашивают пароль, я ввожу его, но получаю: psql.bin: FATAL: password authentication failed for user "myusername"
Вопрос: Как мне сделать psql
и createuser
работай?
Дополнительная информация
Мой ./data/pg-hba.conf
как следует:
local all all trust
host all all 127.0.0.1/32 trust
host all all ::1/128 trust
Кроме того, похоже, что нет postgres
пользователя в системе, что имеет смысл, поскольку я просто распаковываю tar.gz
Вы должны выполнить команду psql как административный пользователь, то есть postgres
по умолчанию: sudo -u postgres psql postgres
(при условии, что вы добавили каталог postgres к своему пути, или sudo -u postgres ./postgresql-9.3/bin/psql postgres
)
Как только вы войдете в консоль psql, \password postgres
и введите свой новый пароль
Во-первых, пользователи postgres и пользователи вашей операционной системы - не одно и то же, кроме как по умолчанию.
Если вы не создадите реальный postgres
системный аккаунт на вашем компьютере, вам нужно будет отредактировать pg_hba.conf
файл и настройте методы аутентификации. По умолчанию должна быть строка вроде
local all postgres peer
Что говорит ему позволить postgres
суперпользователь входит в систему локально, если человек, запускающий psql, использует учетную запись операционной системы, также названную postgres
. Если вы измените peer
к trust
тогда это позволит любому войти в систему локально с psql -U postgres
. Как только вы подключитесь, вы сможете создавать других пользователей с их паролями.
После того, как все настроено, для безопасности вы должны установить пароль на postgres
пользователь, затем измените trust
к md5
для запроса пароля для подключения.