TIE-postgresql M3 Error

kyoungyeon·2024년 12월 4일
0

TIE

목록 보기
50/53
  • psql 접속하려니까 connection 에러를 받는 신기한 발생!
    • 구글링 해도 비슷한 에러가 없길래 써봄
    • 아 근데 어짜피 경로만 다를뿐, postgresql.conf, pg_hba.conf 두 파일 설정을 변경하면 되는 문제다.
 Is the server running on that host and accepting TCP/IP connections?
connection to server at "localhost" (127.0.0.1), port 6003 failed: Connection refused
        Is the server running on that host and accepting TCP/IP connections?

첫 시도

-https://adjh54.tistory.com/98
위 에런가 해서 pid를 지워봤다
여전히 같은 에러 발생. 아무리봐도 저 포트로 postgre가 연결이 안되어있고
해당 블로그글과 다른경로에 있었음
homebrew 로 설치한 postgres 는 아래 디렉토리에서 관리

  • /opt/homebrew/var/postgres@버전

해결은 위 경로에서 해야함

  • postgresql.conf , pg_hba.conf 두 파일 안 내용을 변경
    • 주석 처리 > 주석 품 (listen, port 등)
    • port 변경 (기본 5432)
    • listen 할 host 추가 (md5 가 아니라 ) trust로 되어있길래 trust 로 method 변경
      • 근데 왜 _local db가 이렇게 많은걸까요..(확인한것만 최소 4개)
        • 다 replica인가? 근데 왜 로컬에 db를 두는지?
        • postgres는 한포트당 하나만 서버가 도는거 같던데, 어떻게 포트가 다른게 여러개 존재 할 수 있는지 확인 필요
host    all             all             ::1/128                 trust

위 에러는 PostgreSQL 서버에 연결을 시도했으나, 해당 호스트와 포트에서 서버가 실행 중이 아니거나 TCP/IP 연결이 허용되지 않아서 발생한 것입니다. 문제 원인과 해결 방안을 단계별로 살펴보겠습니다.


원인 분석

  1. PostgreSQL 서버가 실행 중이지 않음

    • PostgreSQL 서버 프로세스가 실행 중이지 않을 경우 발생합니다.
  2. 잘못된 포트

    • PostgreSQL 서버가 6063 포트에서 실행 중인지 확인해야 합니다. 기본 포트는 5432입니다.
  3. TCP/IP 연결 비활성화

    • postgresql.conf 파일에서 TCP/IP 연결이 허용되지 않았을 수 있습니다.
  4. 접근 권한 문제

    • pg_hba.conf 파일에서 localhost 또는 127.0.0.1에 대한 연결 권한이 제한되었을 수 있습니다.
  5. 방화벽 문제

    • 방화벽 설정으로 인해 해당 포트에 대한 접근이 차단되었을 수 있습니다.

해결 방안

  1. PostgreSQL 서버가 실행 중인지 확인

    sudo service postgresql status
    • 서버가 실행 중이 아니라면, 다음 명령어로 서버를 시작합니다:
      sudo service postgresql start
  2. 올바른 포트 확인
    PostgreSQL의 설정 파일에서 포트를 확인합니다.

    cat /etc/postgresql/<버전>/main/postgresql.conf | grep port
    • 기본값은 5432입니다. 만약 6063 포트를 사용하려면 설정을 수정하고 서버를 재시작해야 합니다:

      sudo nano /etc/postgresql/<버전>/main/postgresql.conf

      port = 6063로 변경 후 저장합니다.

      서버 재시작:

      sudo service postgresql restart
  3. TCP/IP 연결 허용
    postgresql.conf 파일에서 listen_addresses 설정이 제대로 되어 있는지 확인합니다:

    listen_addresses = 'localhost'

    설정 후 서버를 재시작합니다:

    sudo service postgresql restart
  4. pg_hba.conf 설정 확인
    pg_hba.conf 파일에 localhost127.0.0.1에 대한 접근 설정이 되어 있는지 확인합니다:

    sudo nano /etc/postgresql/<버전>/main/pg_hba.conf

    다음과 같은 항목이 포함되어 있어야 합니다:

    host    all             all             127.0.0.1/32            md5
    host    all             all             ::1/128                 md5
  5. 방화벽 설정 확인
    방화벽이 PostgreSQL의 포트를 허용하는지 확인합니다:

    sudo ufw allow 6063/tcp
  6. 클라이언트 명령어 확인
    올바른 명령어로 접속을 시도합니다:

    psql -h localhost -p 6063 -U postgres

    비밀번호를 입력하면 접속이 되어야 합니다.


테스트 및 확인

  1. PostgreSQL 로그 확인:
    sudo tail -f /var/log/postgresql/postgresql-<버전>-main.log
  2. 제대로 연결되지 않는다면 에러 메시지를 다시 확인하세요.

psql cmd 확인

  1. 스키마 확인
    \du
  2. 스키마 및 소유자 세부 정보 확인
    \dt+
  3. 데이터베이스 연결
    \c [db 이름]
profile
🏠TECH & GOSSIP

0개의 댓글