Postgresql, EPAS/백업 & 복구

pg_dump

havy 2025. 6. 17. 09:38

논리적 백업을 하는 툴인듯 하다 (tbexport같음)

 

1. 테스트 데이터 생성

CREATE DATABASE TESTDB;

\c testdb

create user test identified by '1234';

\c testdb test

 

CREATE TABLE t1 (c1 int);

INSERT INTO t1 select * from generate_series(1,100,2);

CREATE TABLE t2 (c1 int);

INSERT INTO t2 select * from generate_series(2,100,2);

 

2. t1 테이블 백업 (text 형식)

pg_dump -U test –p 5444 -d testdb -t t1 > t1.sql

 

3. t2 테이블 백업 (custom format dump)

pg_dump -U test -p 5444 --format=c -d testdb -t t2 > t2.sql

 

4. 데이터베이스 백업 (directory format)

pg_dump -U test -p 5444 --format=d -d testdb -f /data1/as16/pg_dump/backup_testdb

 

2,3,4번의 결과를 cat으로 확인하거나 디렉토리에서 확인...

 

 

 

 

2-1. t1 테이블 백업본으로 복구하는 명령어

drop table t1 이후


psql -U test -p 5444 -d testdb < t1.sql

 

결과 확인. (select count(*) from t1;)

 

2-2. t2 테이블 백업본으로 복구하는 명령어

drop table t2 이후


pg_restore -Utest  -p 5444 -d testdb < t2.sql

결과 확인. (select count(*) from t2;)

 

custom-format dump는 pg_restore 툴로 복구 가능

 

2-3. 데이터베이스 백업본으로 t2 테이블만 복구하는 명령어

pg_restore -U test -p 5444 -d testdb -t t2 -Fd /data1/as16/backup_testdb/

결과 확인. (select count(*) from t2;)

'Postgresql, EPAS > 백업 & 복구' 카테고리의 다른 글

pg_dumpall  (0) 2025.06.17
pg_basebackup (incremental backup)  (0) 2025.06.17
pg_basebackup (full backup)  (0) 2025.06.17