В Ubuntu 12.04 я установил pg и pgadmin.
Я могу получить доступ локальный / phppgadmin с помощью браузера.
Я тоже могу это сделать: IP / phppgadmin.
Однако я не могу использовать IP-адрес для подключения к pg с помощью pgadmin.
Он сообщает, что сервер не слушает.
Есть идеи по этому поводу?
Какое сообщение об ошибке вы получаете от PGAdmin? Есть что-нибудь в логах (/var/log/postgresql.log
или похожие)?
Я предполагаю, что у вас нет правильной настройки авторизации в вашем pg_hba.conf
, поскольку PostgreSQL по умолчанию позволяет подключаться только локальным пользователям через unix-сокеты, а не через TCP, который вы хотите. Вам может понадобиться что-то вроде
host all all 0.0.0.0 pam
или
hostssl all all 0.0.0.0 md5
в pg_hba.conf
- прочтите ссылку выше для правильной документации :)
PostgreSQL по умолчанию прослушивает только локальный сокет UNIX. Чтобы включить раскомментирование конечной точки TCP / IP в файле postgresql.conf:
listen_addresses = '*'
Где '*' - слушать на всех интерфейсах. Или введите здесь свой IP-адрес, если вы хотите прослушивать только определенный IP-адрес.
http://www.postgresql.org/docs/9.1/static/runtime-config-connection.html#GUC-LISTEN-ADDRESSES
Спасибо разным пользователям, которые помогли мне сузить проблему. На самом деле проблем было несколько. Я изложил их здесь как исчерпывающий ответ и надеюсь, что кому-то еще будет полезно.
как сказал RJS, мне пришлось указать listen_addresses для приема нескольких IP-адресов. Первоначально это было сделано, но позже я понял, что перед строкой стоит знак #, что означает, что она была прокомментирована. Так что я снял комментарий.
Даже после остановки сервера PG pg_lsclusters
показал, что служба все еще работает. Поэтому я не мог перезапустить его, так как он сообщил, что он уже запущен.
Затем, используя ps
Я обнаружил, что связанная программа, известная как pgpool
использовал тот же порт, и он не позволял по умолчанию 5432 порт, который будет использовать PG. Поэтому я остановил это с терминала, используя sudo pgpool stop
.
Затем я перезапустил сервер postgres, и все было в порядке!
Пока я искал ответ, волонтер сказал мне: РодийЖаба в IRC (#postgresql) этот пул не нужен для того, что я делал. Меня спросили, зачем он у меня. Странно то, что я его так и не установил. Возможно pgpool был установлен как какое-то дополнение.
Одна из других проблем заключалась в том, что я не мог запустить pgadmin в Windows. и правильно подключили. Отсутствует libpq.dll. По-видимому (вы найдете другой пост об этом в stackoverflow), файл был в нескольких местах на Win XP. Поэтому я скопировал все DLL-файлы postgres в Windows / System32, и это исправило.
Это оно! Надеюсь это поможет.