-
[DB] postgresql 데이터 백업/복원 (pg_dumpall VS pg_dump)DB 2024. 12. 10. 16:29
pg_dumpall VS pg_dump 차이
pg_dumpall
- 모든 데이터베이스와 글로벌객체(사용자, 권한)를 백업
- 일반적으로 백업파일이 SQL스크립트파일형식이다 ( .sql )
- 백업시 파일의 확장자는 .dump나 .sql이나 상관없지만 직관성을 위해 .sql로 하는게 좋다
복원
텍스트 형식의 SQL 스크립트 파일이므로 psql을 사용하여 복원해야한다
- psql 은 SQL 명령어를 직접 실행할 수 있기 때문이다.
백업
pg_dumpall -U postgres -f [저장할 파일명].sql
-f 옵션: 백업을 파일로 저장
복원
psql -U postgres -f [백업 파일명]
-f 옵션: 지정된 파일에서 SQL 명령어를 읽고 실행합니다.
pg_dump
- postgres 내부의 "개별 database"만을 백업
- 여러 형식으로 백업을 생성할 수 있다
(사용자형식 : -F c / 텍스트형식 : -F p / 디렉토리 형식 -F d)
복원
- 사용자 형식(-F c)와 디렉토리 형식(-F d)으로 백업된 파일은 pg_restore를 사용해 복원한다.
- pg_restore는 바이너리 형식을 해석해서 복원할 수 있기 때문이다.
백업
pg_dump -U postgres -F c -f [저장할 파일명].dump [데이터베이스명]
-U [사용자명]: db사용자 -F c: 사용자 지정형식 -f [파일명]: 파일에 저장
복원
pg_restore -U postgres -d [db명] [백업파일명]
-d [db명] : 복원할 db명