Назад | Перейти на главную страницу

Не удается подключиться к postgresql на локальном компьютере с помощью IP + pgadmin

В 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

Спасибо разным пользователям, которые помогли мне сузить проблему. На самом деле проблем было несколько. Я изложил их здесь как исчерпывающий ответ и надеюсь, что кому-то еще будет полезно.

  1. как сказал RJS, мне пришлось указать listen_addresses для приема нескольких IP-адресов. Первоначально это было сделано, но позже я понял, что перед строкой стоит знак #, что означает, что она была прокомментирована. Так что я снял комментарий.

  2. Даже после остановки сервера PG pg_lsclusters показал, что служба все еще работает. Поэтому я не мог перезапустить его, так как он сообщил, что он уже запущен.

  3. Затем, используя ps Я обнаружил, что связанная программа, известная как pgpool использовал тот же порт, и он не позволял по умолчанию 5432 порт, который будет использовать PG. Поэтому я остановил это с терминала, используя sudo pgpool stop.

  4. Затем я перезапустил сервер postgres, и все было в порядке!

    Пока я искал ответ, волонтер сказал мне: РодийЖаба в IRC (#postgresql) этот пул не нужен для того, что я делал. Меня спросили, зачем он у меня. Странно то, что я его так и не установил. Возможно pgpool был установлен как какое-то дополнение.

  5. Одна из других проблем заключалась в том, что я не мог запустить pgadmin в Windows. и правильно подключили. Отсутствует libpq.dll. По-видимому (вы найдете другой пост об этом в stackoverflow), файл был в нескольких местах на Win XP. Поэтому я скопировал все DLL-файлы postgres в Windows / System32, и это исправило.

Это оно! Надеюсь это поможет.