havy 2025. 6. 17. 09:39

pg_dump랑 비슷한데, 모든 데이터베이스를 백업하는 툴이다.

그래서 그런지 슈퍼유저로 백업해야하는 것으로 보인다.

 

 

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. 백업

pg_dumpall -U enterprisedb -p 5444 > dumpall_testdb.sql

 

2-1. 복구

drop table t1,t2;

drop database testdb;

drop user test;

 

psql -U enterprisedb -p 5444 -d edb < dumpall_testdb.sql

 

 

user, database가 모두 복구되고 테이블도 온연한 것을 볼 수 있다.