Я настраиваю сервер, на котором работает более одного кластера Postgres. По умолчанию я установил основной кластер postgres
(тот, чей порт по умолчанию 5432), чтобы он не запускался автоматически с компьютером. Вместо этого я установил два других кластера Postgres, один на порт 5433, а другой на 5434.
Кажется, все работает отлично, за одним критическим исключением: я не могу войти в эти кластеры удаленно. То есть, когда я пытаюсь:
psql -h [my server ip] -p 5433 -U myusername -d mydatabase
Я получаю:
psql: не удалось подключиться к серверу: соединение отказано Является ли сервер
работает на хосте "[мой IP-адрес сервера]" и принимает TCP / IP
соединения по порту 5433?
Теперь я знаю, что прошлые вопросы уже задавались по этому вопросу. См. Например: "psql: не удалось подключиться к серверу: соединение отказано" Ошибка при подключении к удаленной базе данных
Однако я выполнил все возможные шаги, которые нашел в Интернете. Посмотрим. Все мои кластеры Postgres имеют postgresql.conf
уже с listen_addresses = '*'
(без комментариев). Аналогично, все мои кластеры pg_hba.conf
имеют host all all 0.0.0.0/0 md5
и host all all all md5
.
Я открыл порты 5432, 5433 и 5434 с:
sudo ufw allow 5432/tcp
sudo ufw allow 5433/tcp
sudo ufw allow 5434/tcp
И я перезапустил службы postgres. Фактически я перезапустил всю серверную машину. Так что теперь, когда я запускаю sudo netstat -ltpn | grep "postgres"
, я получаю, например, кластер на порту 5433:
tcp 0 0 0.0.0.0:5433 0.0.0.0:* LISTEN 3227/postgres
tcp6 0 0 :::5433 :::* LISTEN 3227/postgres
Тем не менее, удаленное подключение к кластеру Postgres невозможно, и выдает вышеупомянутую ошибку. Что еще я могу попробовать?