FATAL: role "postgres" does not exist 오류 해결 기록

준우·2022년 6월 16일
1

Error Report

목록 보기
5/14
post-thumbnail

오류 (1)

connection to server at "localhost" (::1), port 5432 failed

해결 방법

brew services start postgresql

터미널을 열고 위 명령어를 입력해서 postgres를 실행한다.

오류 (2)

role "postgres" does not exist

connection to server at "localhost" (::1), port 5432 failed: FATAL: role "postgres" does not exist

"postgres" 라는 계정이 없다는 메시지가 나왔으므로, 해당 이름의 계정을 생성해야 한다.
터미널에 아래와 같이 두 개 명령어를 입력한다.

해결 방법

psql --username=postgres --dbname=postgres
brew services restart postgresql

이번에는 아래와 같은 에러가 발생한다.

오류 (2)

sql: error: connection to server on socket "/tmp/.s.PGSQL.5432" failed

psql: error: connection to server on socket "/tmp/.s.PGSQL.5432" failed: FATAL:  role "postgres" does not exist

해결 방법

brew services stop postgres
rm /usr/local/var/postgres/postmaster.pid
brew services start postgres

구글링한 결과, 위 처럼 postgres 서버를 종료하고, postmaster.pid를 찾아 삭제한 다음, postgres 서버를 재실행하면 된다는데 내 경우에는 아니었다.

무엇이 문제인지 명확하게 파악이 안되어 postgresql 을 삭제 후 다시 설치했다.

postgresql 삭제

brew services stop postgresql
brew uninstall --force postgresql
rm -rf /usr/local/var/postgresql
rm -rf .psql_history .psqlrc .psql.local .pgpass .psqlrc.local
brew cleanup
brew list | grep sql

postgresql 재설치

설치

brew install postgresql

혹은

brew install postgresql@13

실행

brew services start postgresql

혹은

brew services start postgresql@13

정상적으로 실행되었다면 psql 명령어를 입력하여 잘 동작하는지 확인해본다.

psql

그런데 이번에는 아래 오류가 발생했다.

오류 (3)

failed: FATAL: database "username" does not exist

psql: error: connection to server on socket "/tmp/.s.PGSQL.5432" failed: FATAL:  database "username" does not exist

오류 메시지가 FATAL: role "postgres" does not exist에서 failed: FATAL: database "username" does not exist 으로 변했다.

해결 방법

cd /Applications/PostgreSQL 14/Application Stack Builder.app
createuser -s postgres

위 명령어 입력 후 드디어 정상 동작하였다.

Reference

0개의 댓글