Я пытаюсь использовать 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, здесь:
Пакеты TCP разрешены IN, но разрешены ли они OUT от виртуальной машины к хосту?
Если требуется правило INPUT, вероятно, также потребуется правило OUTPUT, например:
iptables -I OUTPUT -p tcp --sport 5432 -m state --state ESTABLISHED -j ACCEPT
Также вы можете посмотреть на этот связанный вопрос: Невозможно подключиться к Postgres на Vagrant Box - в соединении отказано