postgresql 관련 문의드립니다

기존에 파이보 생성 따라서
로컬에서는 python manage.py runserver 구동시키면 잘 뜨고 있는데요

문제는 라이트세일 적용시 문제가 있어서 글 남깁니다

처음 프로젝트 시작부터 쿠키커터 사용으로
데이터베이스 디폴트가 이미 postgresql 에 저장되어지고 있는 형태였는데요
그리고 postgresql 으로 마이그레이션 보내졌고요
.
.
.
1. 이 페이지 처음에 설명하신대로 직접 설치 후 적용시키려면 환경에 따라 너무 어려워지는 그런 걸 제가 하고 있는 건가요?
https://wikidocs.net/81083
.
.
.
2. 현재 base.py 내에서 프로젝트 시작부터 설정해줬던 부분은

DATABASES = {
    "default": env.db("DATABASE_URL", default="postgres://postgres:204220@localhost:5432/projectname"),
}

이 부분만 추가하여 구동했었는데요

라이트세일 내에서 인스턴스 + 데이터베이스 두 개 생성 이후에
이 부분 삭제하지 않은 상태에서

prod.py 에다가

(... 생략 ...)
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'pybo',
        'USER': 'dbmasteruser',
        'PASSWORD': '=eKmx$xxymnxxwNCxxx$SX55*RdjKK1G&',
        'HOST': 'ls-be78fd2cxxxxx614420dxxxxx6b156e2c9.cqlcyugj7ibs.ap-northeast-2.rds.amazonaws.com',
        'PORT': '5432',
    }
}

이 부분만 제가 데이터생성시 받은 값들로 변경하여 저장하고 라이트세일 내에서 인스턴스 구동시키면

django.db.utils.OperationalError: connection to server at "localhost" (127.0.0.1), port 543
2 failed: Connection refused
Is the server running on that host and accepting TCP/IP connections?

이렇게 오류가 뜨고 있는 상황입니다
.
.
.
3. 만약 제가 이미 postgresql 을 직접설치하여 사용하고 있는 상황에서 1번에서 질문한 그 설정들이 어려운 거라면
현재 상황에서 어떻게 해야 하는 지 궁금합니다

https://wikidocs.net/81083

이 플라스크 강의를 보면
기존 마이그레이션 되어 있던 디렉토리를 삭제하고
데이터베이스 초기화한 이후에 다시 마이그레이션 하는 방법으로 하길래
그렇게 해보려고 해도 잘 안 되더라고요

그리고 제 코드에서
base.py 의 데이터베이스 삭제 하고
base.py 와 prod.py 모두에 라이트세일 데이터베이스 항목 추가 하고 runserver 하면

105: RuntimeWarning: Got an error checking a consistent migration history performed for database connection 'default': connection to server at "ls-5c4b2a819003733979cf9b0810e21990c8d94930.cu6xdyobohgp.ap-northeast-2.rds.amazonaws.com" (172.26.3.78), port 5432 failed: Operation timed out
        Is the server running on that host and accepting TCP/IP connections?

이렇게도 뜹니다
.
.
.
.
.
.
.
.
정리해보자면
1. 현재 postgresql 직접 설치 하였고 postgresql

DATABASES = {
    "default": env.db("DATABASE_URL", default="postgres://postgres:204220@localhost:5432/projectname"),
}

이렇게 연결하여 테이블 생성되어 있음

  1. 현재 데이터베이스 관련 코드는

  2. base.py 내의

DATABASES = {
    "default": env.db("DATABASE_URL", default="postgres://postgres:204220@localhost:5432/projectname"),
}
DATABASES["default"]["ATOMIC_REQUESTS"] = True
  • prod.py 내의
DATABASES["default"] = env.db("DATABASE_URL")  # noqa F405
DATABASES["default"]["ATOMIC_REQUESTS"] = True  # noqa F405
DATABASES["default"]["CONN_MAX_AGE"] = env.int("CONN_MAX_AGE", default=60)  # noqa F405

이렇게 되어 있는 상황입니다

추가로
이 관련 에러 내용도 포함되어 있어서 남깁니다

ALLOWED_HOSTS = ["localhost", "0.0.0.0", "127.0.0.1"]

라이트세일 - 인스턴스 내에서 구동시키려면 어떤 수정이 필요한 지 궁금합니다
찾아보니
기존 postgresql 을 외부접속 허용 * 로 바꾼다든지 하는 것도 있는 것 같던데
그런 것 상관없이 기존이 postsql로 마이그레이션 해두었던 테이블은 존재하지 않아도 되서
라이트세일 내에 테이블을 어떻게 생성하는 지가 가장 궁금합니다

파이보 관련 강의 너무나도 잘 보았습니다
감사합니다
지식이 짧은 상태에서의 질문이라 설명하기 괜찮으실 지 모르겠습니다

ye 1569

M 2022년 2월 12일 9:31 오후

목록으로
1개의 답변이 있습니다. 1 / 1 Page

안녕하세요.

localhost 5432 포트 접근이 거부되는 것이 문제로 보이네요.

다음 URL을 참조해 보세요.

https://stackoverflow.com/questions/20825734/postgresql-connection-refused-check-that-the-hostname-and-port-are-correct-an

박응용

2022년 2월 12일 10:19 오후

감사합니다 :) 기존의 것 삭제하고 변경하는 방식으로 해결했습니다 그리고 posgresql 내의 설정을 shell 파일에 listen address = [*] 로 변경하여서 외부접속 허용하는 것으로 하여 해결한 거 같기는 한데 잘 한 건지는 모르겠네요 감사합니다! - ye님, 2022년 2월 19일 2:31 오전 추천 , 대댓글