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

pgAdmin не может подключиться к PostgreSQL 9.1

Я пытаюсь использовать pgAdmin в Windows для подключения к postgresql 9.1.8 работает на виртуальной машине Ubuntu 12.04 localhost. Порт хоста 5432 перенаправляет на порт 5432 виртуальной машины.

Ошибка pgAdmin:

Error connecting to the server: could not receive data from server: Software caused connection abortion (0x00002745/10053)

postgresql.conf

#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------

# - Connection Settings -

listen_addresses = '*'
port = 5432 

pg_hba.conf

local   all             postgres                                peer

# TYPE  DATABASE        USER            ADDRESS                 METHOD

host    all             all             0.0.0.0/0               md5
host    all             all             127.0.0.1/32            md5
host    all             all             ::1/128                 md5 

netstat -nlp | 5432

tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN      29035/postgres
unix  2      [ ACC ]     STREAM     LISTENING     50823    29035/postgres      /var/run/postgresql/.s.PGSQL.5432

правило iptables

iptables -I INPUT -p tcp --dport 5432 -j ACCEPT

Служба PostgreSQL была перезапущена, но pgAdmin по-прежнему выдает ошибку. Есть идеи, что вызвало это?

Была такая же проблема, и она сводилась к 3 шагам:

1- На Mavericks (то же самое для 10.6+) порт 5432 уже занят, поэтому необходимо следующее: --- config.vm.network "forwarded_port", гость: 5432, хост: 5433 'на' Vagrantfile ', а затем вы используете порт 5433 для подключиться через pgadmin3

2- listen_address = '*' # в postgresql.conf, позволяет серверу прослушивать соединение через сокет со всех ip-адресов

3- необходимо включить хост в 'pg_hba.conf'

Я поместил сценарий оболочки подготовки, необходимый для postgresql на vagrant, здесь:

https://gist.github.com/haknick/7394776

Пакеты TCP разрешены IN, но разрешены ли они OUT от виртуальной машины к хосту?

Если требуется правило INPUT, вероятно, также потребуется правило OUTPUT, например:

iptables -I OUTPUT -p tcp --sport 5432 -m state --state ESTABLISHED -j ACCEPT

Также вы можете посмотреть на этот связанный вопрос: Невозможно подключиться к Postgres на Vagrant Box - в соединении отказано