논리적 백업을 하는 툴인듯 하다 (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 |