Ну, я, кажется, перепробовал все, что смог найти (не так уж много), но не могу понять, почему я не могу получить удаленное подключение к своей базе данных.
Вот что у меня есть:
#postgresql.conf
listen_addresses = '12.34.56.78,localhost' # included my local ip
port = 5432 # the port I'm trying to connect with
tcpip_socket = true
#pg_hba.conf
host all mydbuser 12.34.56.78/32 md5
I receive: connection to database 'name' failed, could not connect to server: Connection refused.
Is the server running on host "domain.com" and accepting
TCP/IP connections on port 5432?
netstat -ant | grep 5432 #returns nothing
netstat -nltp | grep 5432: ничего не возвращает
Решение
На самом деле я думаю, что то, что удерживало меня от понимания этого, было плохо написанным постом в блоге на эту тему. С другой стороны, потрясающее руководство наслайс хостпрояснили мне ситуацию, и если кто-то когда-нибудь придет сюда с такими же проблемами, я предлагаю им прочитать это. Slicehost действительно заслуживает похвалы за качество и поддержание их руководств, хотя я думаю, что это хороший бизнес — помогать людям пользоваться их услугами.
Спасибо всем, кто ответил.
решение1
На сервере БД можно запустить следующее и опубликовать вывод:
ps axf | grep postgres
- порт прослушивания
netstat -nltp | grep 5432
Чтобы обойти брандмауэры, попробуйте использовать порт 80 или 8080 вместо 5432.
Вы подключаетесь из 12.34.56.78/32 (это разрешенный диапазон в вашем pg_hba.conf)?
Можете ли вы пропинговать 12.34.56.78?
Из пустого netstat
вывода следует, что ваш процесс postgres не прослушивает порт!
Появляется ли что-нибудь интересное в /var/log/postgresql/ при перезапуске базы данных?
решение2
Вы проверили свой брандмауэр? У вас может быть какое-то правило, запрещающее доступ к этому порту
решение3
хост все mydbuser 12.34.56.78/32 md5
эта строка в вашем pg_hba.conf означает, что подключиться сможет только пользователь mydbuser с хоста 12.34.56.78.
Итак, если это сервер PG, вам нужно будет добавить еще одну строку для хоста или подсети (т.е. если вы хотите подключиться к любому из 12.34.45.01-254, вам нужно указать 12.34.56.00/24)