반응형
오늘은 Postgresql DB의 전체가 아닌 특정 테이블만 백업 및 복구 하는 방법에 대해
쉽고 간단하게 포스팅 하려고 합니다.
리눅스(Linux) 서버에서 pg_dump를 이용하여 Postgresql DB의 특정 테이블을 백업합니다.
# /usr/bin/pg_dump -d [데이터베이스 명] -t [테이블 명] > [백업 경로 및 백업파일 이름].sql
# /usr/bin/pg_dump -d testDB -t user_info> /var/lib/pgsql/9.6/backups/testDB_userinfo.sql
pg_dump를 이용하여 백업한 sql을 복구합니다.
복구시에는 DB권한을 가지고 있는 계정으로 변경하여 실행해야 합니다.
# psql -f [백업파일 이름].sql [복구할 데이터베이스 명]
아래 실행된 내용중에 50: ERROR이 나타나는데 데이터는 복구가 되었습니다.
단지 복구할 데이터베이스에 해당 컬럼이 존재하지 않는다면 오류가 생기지 않습니다.
또한 복구하는 컬럼에 백업한 sql과 동일한 primary key값을 가진 데이터가 있다면
오류가 발생합니다. primary key는 중복되지 않도록 해야 합니다.
bash-4.2$ psql -f ./testDB_user_info.sql testDB
SET
SET
SET
SET
SET
set_config
------------
(1개 행)
SET
SET
SET
SET
SET
psql:./testDB_connhis.sql:50: ERROR: relation "user_info" already exists
ALTER TABLE
COPY 4050
만약 특정 DB테이블이 아닌 전체 DB를 백업 및 복구 하고자 한다면 아래 링크를 참조해 주시면 됩니다.
[Develope/DataBase] - [Postgresql] Linux에서 DB 백업 및 복구 방법
지금까지 Postgresql DB 테이블 백업 및 복구에 대한 포스팅이였습니다.
반응형
'Develope > DataBase' 카테고리의 다른 글
[Postgresql] table column 정보 조회 방법 (0) | 2020.10.26 |
---|---|
[Postgresql] value too long for type character varying 이슈 해결 방법 (0) | 2020.10.22 |
[Postgresql] DB 사용자 추가 및 Role 권한 관리 (0) | 2020.01.13 |
[Postgresql] ERROR: column reference "column_name" is ambiguous 오류 및 해결 방법 (0) | 2020.01.03 |
[Postgresql] FATAL: Peer authentication failed for user "" 오류 (0) | 2019.08.09 |