Приветствую! Я пользуюсь библиотекой psycopg2 во внутри Docker. В Docker установлен postgres. При запуске база данных создается, но выводиться ошибка при подключение через python:
app-1 | [INFO] Error while working with PostgreSQL connection to server at "db_auth" (172.18.0.3), port 5432 failed: FATAL: password authentication failed for user "admin"
А потом еще:
app-1 |
app-1 | Traceback (most recent call last):
app-1 | File "/app/main.py", line 24, in <module>
app-1 | if connection: # Завершение работы базы данных
app-1 | ^^^^^^^^^^
app-1 | NameError: name 'connection' is not defined
app-1 exited with code 1
Код. Main:
import psycopg2
from config import host, user, password, db_name, port
import time
time.sleep(10)
try:
connection = psycopg2.connect(
host=host,
user=user,
password=password,
database=db_name,
port=port
)
with connection.cursor() as cursor:
cursor.execute(
"SELECT version();"
)
print(cursor.fetchone())
except Exception as _ex:
print("[INFO] Error while working with PostgreSQL", _ex)
finally:
if connection: # Завершение работы базы данных
connection.close()
print("Завершение работы базы данных")
config:
host = "db_auth"
password = "root"
user = "admin"
port = 5432
db_name = "postgres"
docker-compose.yml:
services:
app:
build: ./app
db_auth:
container_name: db_auth
ports:
- "5432"
environment:
- POSTGRES_PASSWORD=root
- POSTGRES_USER=admin
- POSTGRES_DB=postgres
image: postgres:12.22
Буду рад за любую помощь!