엔지니어 블로그
[Error] Pyhton Postgresql 연동 에러 (.env) 본문
에러 내용
psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: fe_sendauth: no password supplied
python에서 .env를 사용하여 postgresql에 연결하는 과정에서 위와같은 에러가 나왔다.
from dotenv import load_dotenv
class Database():
def __init__(self):
load_dotenv()
print(os.getenv("DB_HOST"))
이런 식으로 print를 해봤을때 None이 프린트 되는 것으로 봐서 .env를 찾지 못하고 있는 것 같았다.
해결 방법
간단하게 해결했다. .env의 경로를 잡아주고 실행하면 해결되는 문제였다.
class Database():
def __init__(self):
env_path = Path(__file__).resolve().parent.parent / ".env"
load_dotenv(dotenv_path=env_path)
self.db = psycopg2.connect(
host=os.environ.get('DB_HOST'),
dbname=os.environ.get('DB_NAME'),
user=os.environ.get('DB_USER'),
password=os.environ.get('DB_PASSWORD'),
port=os.environ.get('DB_PORT')
)
'에러와 마주했을때' 카테고리의 다른 글
[Error] Spark Error (1) | 2025.03.28 |
---|---|
[Error] Airflow SparkKubernetesOperator + postgresql Dependency (1) | 2025.03.10 |
[Error] Spark Type error (0) | 2025.03.10 |
[Error] Cloud Storage parquet 추가 안됨 (0) | 2025.03.05 |
[Error] Spark on K8S 실행 에러 (0) | 2025.02.28 |