Я пытаюсь настроить phpPgAdmin на своей тестовой машине, чтобы я мог взаимодействовать с PostgreSQL без необходимости всегда использовать psql
CLI. У меня PostgreSQL 9.1 установлен через репозиторий RPM, а phpPgAdmin 5.0.4 я установил «вручную» (распаковав архив с сайта phpPgAdmin). Для справки, моя основная ОС - CentOS 6.2.
Я уже внес следующие изменения в конфигурацию:
PostgreSQL
pg_hba.conf
, Я все поменял METHOD
с на md5.phpPgAdmin config.inc.php
$conf['servers'][0]['host'] = '';
к $conf['servers'][0]['host'] = '127.0.0.1';
(Я также пробовал использовать в качестве значения localhost).$conf['extra_login_security']
к false
.Всякий раз, когда я пытаюсь войти в phpPgAdmin, я получаю сообщение «Ошибка входа», даже если я использую успешные учетные данные (те, которые работают в psql
). Я попытался выполнить некоторые шаги, указанные в вопросе 3 в Вопросы-Ответы, но там пока не все получилось. Наверное, не поможет то, что это мой первый день работы с PostgreSQL. Я хорошо знаком с MySQL, но мне нужно использовать PostgreSQL для проекта, над которым я работаю.
Может ли кто-нибудь предложить помощь по настройке phpPgAdmin на CentOS 6.2? Если я до сих пор сделал что-то ужасно неправильное в своей конфигурации, нет ничего страшного в том, чтобы сдуть что-то / все, потому что я еще не сохранил там какие-либо данные!
Я ценю любое ваше понимание!
Что ж, я понял - это была комбинация неопытности с PostgreSQL и очень неописательных ошибок от phpPgAdmin.
Оказывается, у меня не был включен доступ по TCP / IP, а это означало, что никакие PHP-приложения не могли получить доступ к базам данных. Чтобы исправить это, мне пришлось внести два изменения:
listen_addresses
к '*'
в postgresql.conf
. Я не уверен, что это полностью необходимо или нет, но на такой машине с хорошим брандмауэром проблем быть не должно.setsebool -P httpd_can_network_connect_db 1
из окна терминала, чтобы Apache действительно запустил программу и подключился. Я не помню, приходилось ли мне перезапускать PostgreSQL после этого шага, но, вероятно, это не повредит.И последнее замечание: я видел несколько вещей, предлагающих изменить строку tcpip_socket=true
в postgresql.conf
. Это очевидно не работает в PostgreSQL 9.1. Фактически, он отказался запускаться после того, как я это добавил. Так что не делай этого.
В любом случае, надеюсь, это поможет тому, кто столкнется с теми же проблемами, что и я!
Ну, пользователь по умолчанию Postgres и нет пароля новой установки. Так что в поле пользователя поместите это и очистите поле пароля. Щелкните. сделано.
Если вы использовали pgAdmin4 и ввел пароль при первом входе в систему, который является паролем, который вы используете для пользователя Postgres. Теперь в phppgadmin введите postgres в качестве имени пользователя и этот пароль в поле пароля. Щелкните. Готово. Спасибо
Я попробовал вышеуказанное решение, но все равно получил сообщение «Ошибка входа». Чтобы решить эту проблему, мне нужно было убедиться, что IPv6 также настроен на password
в pg_hba.conf
файл. Ну действуй: vi /var/lib/pgsql/9.4/data/pg_hba.conf
и отредактируйте соответственно. Затем перезапустите httpd и postgresql (независимо от версии, которую вы используете)
Мне не удалось настроить phpPgAdmin, пока я не увижу ваше решение. Чтобы завершить ваше решение:
listen_address
к '*'
если ваш сервер phpPgAdmin находится на том же компьютере, что и ваш сервер postgresql (9.2 для меня), вы можете установить его на localhost
.Работает на сервере с GitLab-CE, сообщение, которое я получаю в файле журнала, было:
tail -f -n 8 /var/log/postgresql/postgresql-*-main.log
......
2019-07-24 16:33:15.073 EDT [9640] postgres@template1 LOG: provided user name (postgres) and authenticated user name (gitlab-www) do not match
2019-07-24 16:33:15.073 EDT [9640] postgres@template1 FATAL: Peer authentication failed for user "postgres"
2019-07-24 16:33:15.073 EDT [9640] postgres@template1 DETAIL: Connection matched pg_hba.conf line 85: "local all postgres peer"
Итак, я подключаюсь к psql
через cli и создать недостающую роль / пользователя (в моем случае gitlab-www
):
# sudo -u postgres psql
CREATE USER "gitlab-www" WITH PASSWORD 'YouKnow..' CREATEDB CREATEROLE SUPERUSER LOGIN;
И затем процесс входа в систему открывает свои двери.