반응형
PostgreSQL에서 pg_dump
로 생성된 테이블 데이터를 복원하는 방법은 데이터 덤프의 형식과 옵션에 따라 달라질 수 있습니다. 일반적으로 아래 단계를 따릅니다:
1. 덤프 파일의 유형 확인
pg_dump
로 생성된 덤프 파일은 다음과 같은 형식일 수 있습니다:
- SQL 스크립트 파일 (
.sql
): SQL 명령어로 데이터와 스키마가 포함된 파일. - Custom 형식 파일 (
.dump
): 압축된 형식. - 디렉터리 형식 (
-Fd
옵션 사용): 여러 파일로 구성된 디렉터리. - TAR 아카이브 형식 (
-Ft
옵션 사용).
2. SQL 스크립트 파일 복원
SQL 스크립트 파일은 텍스트 기반이므로, psql
명령어를 사용해 복원할 수 있습니다.
psql -U <사용자명> -d <데이터베이스명> -f <덤프파일.sql>
예:
psql -U postgres -d mydb -f table_dump.sql
3. Custom 또는 TAR 파일 복원
이 형식의 덤프 파일은 pg_restore
를 사용합니다.
기본 복원 명령:
pg_restore -U <사용자명> -d <데이터베이스명> <덤프파일>
예:
pg_restore -U postgres -d mydb table_dump.dump
옵션 설명:
-d
: 복원할 데이터베이스 이름.--schema-only
: 스키마만 복원.--data-only
: 데이터만 복원.--table=<테이블명>
: 특정 테이블만 복원.
4. 디렉터리 형식 복원
디렉터리 형식은 pg_restore
와 비슷하게 복원합니다.
pg_restore -U <사용자명> -d <데이터베이스명> -Fd <디렉터리 경로>
예:
pg_restore -U postgres -d mydb -Fd ./table_backup
5. 복원 전 준비 작업
- 데이터베이스 생성: 덤프 파일 복원 전에 데이터베이스를 생성해야 할 수도 있습니다.
createdb -U <사용자명> <데이터베이스명>
- 권한 확인: 복원하려는 사용자가 데이터베이스에 적절한 권한을 가지고 있는지 확인하세요.
6. 문제 해결
- 오류 발생 시: 오류 로그를 확인하고, 필요한 경우 옵션을 조정하거나 SQL 스크립트를 편집합니다.
- 테이블 중복 오류: 복원 전에 해당 테이블을 삭제하거나
pg_restore
의--clean
옵션을 사용해 기존 데이터를 제거합니다.
pg_restore -U <사용자명> -d <데이터베이스명> --clean <덤프파일>
반응형
'DB > PostgreSQL' 카테고리의 다른 글
[ Postgresql ] ORDER BY - 정렬 적용해서 query 하기 (0) | 2025.01.08 |
---|---|
[ Postgresql ] \l+, \dt+ - 데이터베이스, Table 크기 확인하기 (0) | 2025.01.08 |
[ Postgresql ] RHEL 7,8,9 OS - 오프라인 설치하기 (0) | 2025.01.08 |
[ PostgreSQL ] build - 소스 Build해서 설치하기 (RHEL 7.6) (0) | 2024.12.03 |
[ PostgreSQL ] PostgreSQL 버전 확인하기 (0) | 2024.12.02 |