오퍼링 > 소프트웨어 테크놀로지 서비스 > 오픈소스 SW > DBMS > 자료실

오픈소스 SW 자료실 - DBMS

오픈소스 DBMS 관련 기술서비스 정보 및 자료를 제공합니다.

[FAQ/PostgreSQL] 데이터베이스 혹은 테이블 단위로 백업을 하려면 어떻게 해야 하나요?

2021.02.19

Question


필요에 따라 데이터베이스 혹은 테이블 단위로 백업을 하고 싶습니다.

어떻게 해야 하나요?

 




Answer


pg_dump 명령어를 사용하시면 데이터베이스 혹은 테이블 단위로 백업을 할 수 있습니다.

우선 데이터베이스 단위로 백업을 하시고자 하는 경우, pg_dump 명령어 뒤에 백업하고자 하는 데이터베이스의 이름을 명시함으로서 원하는 데이터베이스를 백업할 수 있습니다.

pg_dump 명령어 뒤에 백업하고자 하는 데이터베이스의 이름을 명시

pg_dump를 사용하여 백업을 하는 경우, 백업 내용은 화면으로 출력이 되기 때문에 리디렉션을 사용해서 파일로 저장해야 합니다.

리디렉션을 사용해서 파일로 저장

혹은 -f 옵션을 사용하여 백업 내용을 저장할 파일명을 지정할 수 있습니다.

-f 옵션을 사용하여 백업 내용을 저장할 파일명을 지정

만약 특정 테이블만 백업하고 싶다면 -t 옵션을 사용하면 됩니다.

특정 테이블만 백업하고 싶다면 -t 옵션을 사용

반대로 특정 테이블만 제외하고 싶다면 -T 옵션을 사용하면 됩니다.

특정 테이블만 제외하고 싶다면 -T 옵션을 사용

 

또한 특정 포맷으로 백업하고 싶다면 -F 옵션을 사용하면 됩니다.

- 텍스트 포맷
특정 포맷으로 백업하고 싶다면 -F 옵션_텍스트 포멧

- tar 포맷
특정 포맷으로 백업하고 싶다면 -F 옵션_tar 포멧

- 사용자 지정 포맷
특정 포맷으로 백업하고 싶다면 -F 옵션_사용자지정 포멧

텍스트 포맷으로 백업을 한 경우는 psql을 사용해서 복원할 수 있습니다.
또한 tar 포맷이나 사용자 지정 포맷을 사용한 경우에는 pg_restore를 사용해서 복원하시면 됩니다.

더 자세한 내용은 https://www.postgresql.org/docs/current/app-pgdump.html 를 참고해 주시기 바랍니다.