Пишу бота на Python с библиотекой aiogram.
Пытаюсь сконнектить бота и postgreSQL БД на одном и том же сервере UBUNTU
Прописал настройки для тестового подключения:
DB_HOSTNAME = localhost
DB_PORT = 5432
DB_DATABASE = postgres
DB_USERNAME = postgres
DB_PASSWORD = *************
Создал класс Database, который отвечает за работу с БД.
class Database:
def __init__(self):
self.host = config.db_hostname.get_secret_value()
self.port = config.db_port
self.database = config.db_database.get_secret_value()
self.username = config.db_username.get_secret_value()
self.password = config.db_password.get_secret_value()
self.connection = None
self.cursor = None
self.connect()
def connect(self):
try:
self.connection = psycopg2.connect(
host=self.host,
database=self.database,
user=self.username,
password=self.password,
port=self.port
)
self.cursor = self.connection.cursor()
print("Database connected")
except (Exception, psycopg2.Error) as error:
print("Error while connecting to PostgreSQL", error)
При инициализации класса специально добавил self.connect() чтобы подключиться к БД, из основного кода не получается, как и отсюда тоже. Выдает ошибку:
Error while connecting to PostgreSQL connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused
Is the server running on that host and accepting TCP/IP connections?
connection to server at "localhost" (::1), port 5432 failed: Connection refused
Is the server running on that host and accepting TCP/IP connections?
сервис postgreSQL работает, состояние Active
файрволл отключен
подключения к БД разрешены ото всюду
При этом порт указан верно, в настройках БД стоит localhost. Пробовал менять HOST на 127.0.0.1, но не помогает. Мучаюсь уже несколько часов и никак.
Из терминала подключиться удается, в psql тоже вхожу и работаю с БД. Проблема явно где-то в коде...
Натолкните на мысль, куда смотреть, что искать, почему так может быть?