Microsoft 社는 2022년 6월 15일 Internet Explorer 11의 지원을 종료했습니다.

pg_dump

제목

pg_dump

1. 데이타베이스 전체 백업

CURRENT_DATETIME=`date +'%Y%m%d.%H%M%S'`
PG_HOST=localhost
PG_PORT=5432
PG_USER=graha
PG_DATABASE=graha_sample
BACKUP_FILE=${PG_DATABASE}.${CURRENT_DATETIME}.sql
#export PGPASSWORD=
pg_dump \
-h ${PG_HOST} -p ${PG_PORT} \
-U ${PG_USER} \
${PG_DATABASE} > ${BACKUP_FILE}
gzip -9 ${BACKUP_FILE}

2. 데이타베이스에서 특정 스키마만 백업

CURRENT_DATETIME=`date +'%Y%m%d.%H%M%S'`
PG_HOST=localhost
PG_PORT=5432
PG_USER=graha
PG_DATABASE=graha_sample
SCHEMA=memo
BACKUP_FILE=${PG_DATABASE}.${CURRENT_DATETIME}.sql
#export PGPASSWORD=
pg_dump \
-h ${PG_HOST} -p ${PG_PORT} \
-U ${PG_USER} \
${PG_DATABASE} \
--schema=${SCHEMA} > ${BACKUP_FILE}
gzip -9 ${BACKUP_FILE}

여러 스키마를 백업하려고 하는 경우에는 --schema= 를 여러 번 지정하면 된다.

3. 데이타베이스에서 특정 테이블만 백업

CURRENT_DATETIME=`date +'%Y%m%d.%H%M%S'`
PG_HOST=localhost
PG_PORT=5432
PG_USER=graha
PG_DATABASE=graha_sample
TABLES=memo.memo
BACKUP_FILE=${PG_DATABASE}.${CURRENT_DATETIME}.sql
#export PGPASSWORD=
pg_dump \
-h ${PG_HOST} -p ${PG_PORT} \
-U ${PG_USER} \
${PG_DATABASE} \
--table=${TABLES} > ${BACKUP_FILE}
gzip -9 ${BACKUP_FILE}

여러 테이블을 백업하려고 하는 경우에는 --table= 를 여러 번 지정하면 된다.

4. 다른 유용한 파라미터

  • --no-tablespaces : 테이블스페이스 정보는 제외한다.
  • --data-only : 데이타만 백업한다.
  • --schema-only : 데이타는 제외하고, 스키마(DDL 등)만 백업한다.
  • --exclude-table : 제외할 테이블
  • --no-owner : 소유자 정보 제외

다른 파라미터는 다음의 명령으로 확인한다.

pg_dump --help

5. 복원

psql \
-h ${PG_HOST} -p ${PG_PORT} \
-U ${PG_USER} \
${PG_DATABASE} \
-f ${BACKUP_FILE}
제목

첨부파일