인성장

[PostgreSQL] Recovery - psql 본문

PostgreSQL/Admin

[PostgreSQL] Recovery - psql

인성장 2024. 3. 15. 15:47
psql

 

psql

psql 명령어는 기본적으로 PostgreSQL DB에 접속할 때 사용되는 명령어지만, 복구 시에도 사용됩니다. pg_dumpall 명령어로 백업받을 경우, 기본적으로 일반 SQL 텍스트 파일로만 생성되기 때문에 psql로만 복구가 가능합니다. pg_dump 명령어는 파일포맷형식을 어떤 형식으로 지정했냐에 따라 복구명령어가 달라집니다. 파일포맷옵션 -F의 값 중 기본값인 p 를 지정하여 백업 시 복구할때는 psql 명령어로 복구해야 하고, 나머지 c, t, d 값을 지정하여 백업 시엔 pg_restore 명령어로 복구해야 합니다.


psql 명령어를 사용하여 복구하는 경우

1. pg_dumpall 명령어로 전체 데이터베이스 백업을 받은 경우

2. 파일포맷형식(-F)을 기본값인 일반 텍스트(p) 옵션을 사용하여 pg_dump 백업을 받은 경우


psql 복구 시 기본 사용법

psql [database_name] < [backupfile_name]

psql -f [backupfile_name] -d [database_name]

 

pg_dumpall로 받은 백업파일 복구 방법

* pg_dumpall로 전체 복구 시, template1 나 postgres DB를 연결하여 복구하면 됩니다.

-- DB 전체 백업1
$ pg_dumpall > pg_full_backup.sql

-- DB 전체 복구1
$ psql template1 < pg_full_backup.sql

또는

-- DB 전체 백업2
$ pg_dumpall -f pg_full_backup.sql -U postgres

-- DB 전체 복구2
$ psql -f pg_full_backup.sql -d template1

 

 

pg_dump로 받은 백업파일 복구 방법 (파일 포맷 형식(-F) 기본값(p)으로 백업 시)

-- service DB 백업1
$ pg_dump service > service_db.sql

-- service DB 복구1
$ psql service < service_db.sql

또는

-- service DB 백업2
$ pg_dump -U postgre -d service s -f service_db.sql -v

-- service DB 복구2
$ psql -U postgres -d service -f service_db.sql

 

이와 같이 텍스트 파일 형식(plain)으로 백업받은 파일은 psql로 복구하면 됩니다. psql로 복구 시 사용할 수 있는 옵션이 제한적이기 때문에, 백업파일에서 특정 객체만 복구하거나 제외하는 작업은 불가능합니다. 다만, 백업파일이 텍스트 형식이기 때문에 사용자가 직접 백업파일을 vi 편집기로 열어 원하는 부분을 수정하거나 SQL문을 가져올 수 있습니다. 명령어를 이용하여 특정 테이블 복구와 같은 유연한 백업복구를 위해선, pg_restore를 사용해야 하고 이를 위해선 pg_dump 백업 시 텍스트 파일 형식(plain)이 아닌 사용자 지정 형식(custom)으로 백업을 받아야 합니다.

 

 

 

https://checktech.tistory.com/28

 

[PostgreSQL] 백업 방법(1) - pg_dump

pg_dump pg_dump pg_dump를 수행하면 데이터베이스에 생성된 객체와 데이터들을 기본적으로 SQL 구문 텍스트 형식으로 백업을 받습니다. SQL형식으로 쿼리가 출력되기 때문에, 복원하려는 PostgreSQL 버전

checktech.tistory.com

 

https://checktech.tistory.com/30

 

[PostgreSQL] 백업 방법(2) - pg_dumpall

pg_dumpall pg_dumpall pg_dump는 사용자가 원하는 데이터베이스 객체를 백업하고 싶을 때 사용하지만, pg_dumpall는 PostgreSQL 전체 데이터베이스를 일괄로 백업받을때 사용합니다. pg_dumpall 기본 사용법 pg_du

checktech.tistory.com

 

반응형

'PostgreSQL > Admin' 카테고리의 다른 글

[PostgreSQL] Recovery - pg_restore  (0) 2024.03.18
[PostgreSQL] Backup - pg_basebackup  (0) 2024.03.14
[PostgreSQL] Backup - pg_dumpall  (0) 2024.03.14
[PostgreSQL] 백업 복구 방식  (0) 2024.02.27
[PostgreSQL] Backup - pg_dump  (0) 2024.02.26