카테고리 없음

PostgreSQL (Docker) 접속 (로컬)

kjw81024 2026. 8. 4. 12:04

로컬 개발 DB 를 접속하려고 하는데 

지금 인턴하면서 스는 cursor 에는 내장 SQL 실행기가 따로 없다고 해서 터미널에서 docker exec 으로 여는거 메모 

 

1. 컨테이너 이름 확인하기 

docker ps

맨 뒤에 있는 NAMES 를 기억하면 된다 

지금 접속하려고 하는건 postgres 니까 aicms-dev-postgres 를 기억하기 !

 

IMAGE 이름이랑 착각하지 않게 조심....

 

2. psql 접속

docker exec -it <NAMES> psql -U <USER> -d <DB명>

-it 는 psql 프롬프트로 들어간다는 의미

-U 뒤에는 DB 유저 (사수님께서 보내주셨다 ㅎ)

-d 뒤에는 DB 이름 (이것두..)

 

그냥 접속 정보는 docker-compose.yml 또는 application.yml 파일에 가면 알 수 있다고 하심 

 

명령어를 잘 입력했다면 

터미널 입력 창이 

<DB명>=#

로 바뀌었다 

 

3. 쿼리문 작성

터미널 창에서 찾고싶은 정보같은걸 SELECT 문을 사용하여 바로 찾아주면 됨!

 

 

추가.

만약에 접속까진 안 하고 바로 실행해보고싶으면 

docker exec -it <NAMES> psql -U <USER> -d <DB명> -c "SELECT count(*) FROM contents;"

-c 가 쿼리를 한 번 실행하고 바로 빠져나온다는 뜻이라고 함!

근데 그냥 접속하는게 편할 것 같긴 하다 


트러블슈팅 

 

긴 쿼리를 클로드한테 부탁해서 붙여넣었는데 오류가 났다 

사용한적도 없는 이상한 모양의 A 가 입력되었다고 함

이유: 채팅/ 문서에서 명령어를 복사하면 하이픈 ( - ) 이 대시로 바뀌는 경우가 있어서 생기는 문제라고 한다 ....

그래서 짧은 쿼리 안 쓰고 그냥 접속해서 했음 ㅎㅎ...

 

사실 손으로 다 치면 생기지 않는 문제라 간단히 하고 패스