Удалённое подключение к PostgreSQL

Рейтинг: 0Ответов: 1Опубликовано: 28.06.2023

Позикла проблема установил postgresql на Ubuntu 20.04 сервере. Всё прошло без ошибок, база работает, создал пользователя, задал пароль, наделил правами суперпользователя, создал базу, но не могу подключиться теперь через PyCharm со своего ПК, для дальннейшего выполнения работы. введите сюда описание изображения введите сюда описание изображения

по пути: nano /etc/postgresql/14/main/postgresql.conf - пробовал 2 варианта записи в строке listen_addresses

введите сюда описание изображения

по пути: nano /etc/postgresql/<version>/main/pg_hba.conf - пробовал тоже разные записи, и одна из них на скрине, но у меня ни чего не вышло, я всё равно получаю каждый раз ошибку:

```Ошибка connection to server at "45.12.72.59", port 5432 failed: Connection timed out (0x0000274C/10060)
Is the server running on that host and accepting TCP/IP connections?```

Подключаюсь стандартно:

import psycopg2
from config import user, password, host, db_name

try:
    connection = psycopg2.connect(
        host=host,
        user=user,
        password=password,
        database=db_name
    )
except Exception as ex:
    print(f'Ошибка {ex}')

Из тех решений, что нашёл в интернете, ни чего не помогло. Прошу помощи у Вас, если кто-т осталкивался с подобным, подскажите, как это решить? Перечень команд, которыми пользовался при установке следующие:

1. sudo apt update - обновляем пакеты
2. sudo apt install postgresql postgresql-contrib - установка пакетов
3. service postgresql status - проверяем статус БД
4. sudo -i -u postgres - войти в СУБД и командой psql запускаем БД
5. createdb db_name - создаём бд
6. CREATE USER user_name WITH PASSWORD 'password'; - создание нового пользователя
7. ALTER USER user_name WITH SUPERUSER; - дать права суперпользователя новому пользователю 
8. wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - - создаём ключ
9. sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
10. sudo apt install pgadmin4 - установка интерфейса```

Ответы

▲ 1Принят
  1. покуда ты не убираешь символ # перед listen_address, параметр остаётся неактивным и, как следствие, его значение равно значению по умолчанию, т. е. localhost.

  2. когда разберёшься с п. 1 - не забудь также проверить, что доступ снаружи по порту 5432 открыт в файерволе (т. е. в iptables или в firewalld или в ufw или в nftables - не знаю, что из этого у тебя используется).

pg_hba.conf выглядит правильным.