Есть похожие вопросы, но у меня ничего не работает.
У меня есть postgres, установленный на сервере под управлением Ubuntu Server 16.04.
В postgresql.conf я установил:
listen_addresses = '*'
port = 5432
Статус postgres дает:
● postgresql.service - загружена СУБД PostgreSQL: загружено
(/lib/systemd/system/postgresql.service; включено; предустановка поставщика:
включено) Активно: активно (выход) с СР 2019-06-19 09:30:25 UTC
3 мин 24 с назад Процесс: 23683 ExecStart = / bin / true (code = exited,
статус = 0 / УСПЕХ) Основной PID: 23683 (код = выход, статус = 0 / УСПЕХ)
19 июня, 09:30:25 ip-172-31-43-128 systemd [1]: запуск PostgreSQL
СУБД ... 19 июня 09:30:25 ip-172-31-43-128 systemd [1]: запущено
СУБД PostgreSQL.
У меня настроен postgresql в режиме потоковой репликации с 3 подчиненными.
Мой файл pg_hba.conf выглядит так:
# Database administrative login by Unix domain socket
local all postgres md5
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
host all all 172.31.43.128/24 md5
host replication all 172.31.32.119/32 trust # the slave1
host replication all 172.31.40.107/32 trust # the slave2
host replication all 172.31.44.8/32 trust # the slave3
host postgres pgpool 172.31.33.203/32 trust # the client
host postgres postgres 172.31.33.203/32 trust # new
host all all 172.31.33.203/32 md5 # the client
Я пытаюсь подключиться к главному экземпляру в python:
import psycopg2
import matplotlib.pyplot as plt
import sys
import time
import pprint
def connect_postgrs():
try:
conn = psycopg2.connect("dbname=my_pgpool_db user=postgres password=antonis host=172.31.43.128")
print "Connected"
except psycopg2.Error as e:
print str(e)
if __name__ == "__main__":
connect_postgrs()
и я получаю ошибку:
не удалось подключиться к серверу: истекло время ожидания соединения Является ли сервер
работает на хосте "172.31.43.128" и принимает соединения TCP / IP на
порт 5432?
Команда
: netstat -nlt
дает следующий вывод:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 172.31.43.128:5432 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp6 0 0 :::22 :::* LISTEN
Кто-нибудь знает, что я делаю не так?