검색결과 리스트
글
TOOL/Docker
2019. 12. 20. 12:04
PostgreSQL
1. Postgres Container 만들기
간단하게 PostgreSQL을 설치 할 수 있다.
Latest버전
docker volume create pgdata docker run -d -p 5432:5432 --name postgres --restart always -v pgdata:/var/lib/postgresql/data -e POSTGRES_PASSWORD=postgres postgres -c 'max_connections=300'
9.2.23버전
docker volume create pgdata-9.2.23 docker run -d -p 5432:5432 --name postgres-9.2.23 --restart always -v pgdata-9.2.23:/var/lib/postgresql/data -e POSTGRES_PASSWORD=postgres postgres:9.2.23 -c 'max_connections=300'
설명
- 예제는
Docker for Windows
의Linux Container Mode
에서 테스트되었다. (물론 Unix/Linux도 될 것이다.) - PostgreSQL의 기본 아이디는
postgres
이다. - 초기암호는
POSTGRES_PASSWORD
환경변수에 설정하여 변경할 수 있다. 아래는postgres
이다. volume
을 생성하고 내부 저장되는 파일들을 매칭시켜서(-v pgdata:/var/lib/postgresql/data
) 설정과 데이터를 보존한다.--restart always
를 통해서 Docker가 종료되었다가 다시 켜져도 Container가 실행된다.-c max_connections=300
로 최대접속세션수를 정할 수 있다. (IMAGE명 뒤에 적는다.)
- 예제는
2. Container의 Postgres로부터 DDL 추출
Host PC로 바로 DDL, DML, Dump파일들을 추출할 수 있습니다. (Powershell에서 테스트)
특정 DDL만
docker exec pgsql-9.2 su postgres -c "pg_dump --schema-only -t tablename1 postgres" > dump_file_name.sql
여러 특정 DDL만
docker exec pgsql-9.2 su postgres -c "pg_dump --schema-only -t tablename1 -t tablename2 -t tablename3 postgres" > dump_file_name.sql
전체 DDL
docker exec pgsql-9.2 su postgres -c "pg_dump --schema-only postgres " > dump_file_name.sql
3. Container의 Postgres로부터 DML 추출
여러 특정 DML만 (데이터추출)
docker exec pgsql-9.2 su postgres -c "pg_dump --column-inserts --data-only -t tablename1 -t tablename2 -t tablename3 postgres" > dump_file_name.sql
'TOOL > Docker' 카테고리의 다른 글
[Docker] 안쓰는 Container 일괄 삭제 (0) | 2019.12.23 |
---|---|
[Docker for Windows] GitLab & Admin 관리자 계정 설정법 (1) | 2019.12.20 |
[Docker] 제트캐시(ZEC) 채굴하기 (2) | 2017.12.29 |
[Docker] 모네로(XMR) 채굴하기 (0) | 2017.12.29 |
[Docker] 모든 이미지 지우기 (0) | 2017.12.06 |