본문 바로가기

DB

도커로 postgres 설치하기

 

 

 

 

1. DockeHub에서 postgres 버전 확인

https://hub.docker.com/_/postgres

 

postgres - Official Image | Docker Hub

Note: the description for this image is longer than the Hub length limit of 25000, so has been trimmed. The full description can be found at https://github.com/docker-library/docs/tree/master/postgres/README.md. See also docker/hub-feedback#238 and docker/

hub.docker.com

 

 

2. postgres 이미지 pull

docker pull postgres

 

이미지 확인

docker images

 

 

3. postgres 컨테이너 실행하기

# 명령
docker run -p 5432:5432 -e POSTGRES_PASSWORD="{비밀번호}" --name {컨테이너명} postgres

# 예시
docker run -p 5432:5432 -e POSTGRES_PASSWORD="kimksky" --name postgres postgres

 

실행중인 컨테이너 확인

docker ps

 

 

4. postgres DB 사용하기

1) postgres 컨테이너 진입(대화형 bash셸 진입)

# 명령
docker exec --user="{실행할 사용자}" -it postgres "bash"


# 예시
docker exec --user="root" -it postgres "bash"

 

 

 

2) postgres 데이터베이스 접속

psql -U postgres
  • psql: postgres DB에 접속하고 상호작용하기 위한 명령
  • -U postgres: 데이터베이스에 접속할 사용자를 postgres로 지정(postgres는 postgresDB 슈퍼 유저임)

 

 

3) 데이터베이스 생성하기

CREATE DATABASE {데이터베이스명};

 

 

4) 전체 테이블 조회

SELECT datname FROM pg_database;
  • datname: postgres 시스템 카탈로그 테이블인 pg_database에서 DB 이름을 나타내는 열(column)
  • pg_database: postgres 시스템 카탈로그의 카탈로그의 하나로 데이터베이스에 대한 정보를 저장하는 테이블

 

 

5) 시스템 테이블이 아닌 내가 생성한 전체 테이블 조회

SELECT datname FROM pg_database WHERE datistemplate = false;
  • datistemplate: 템블릿 데이터베이스가 아닌 데이터베이스를 조건으로 조회

 

 

 

6) 사용자 확인 및 비밀번호 설정 

# 데이터베이스에 있는 모든 사용자 조회
\du


# 데이터베이스 서버에 연결된 사용자 암호 변경
\password {사용자}

# 예시
\password postgres