본문 바로가기

DB/PostgreSQL

[ PostgreSQL ] 테이블에서 데이터만 가져오기

반응형

🌱 테이블에서 데이터만 백업해서 다시 복원시키기

PostgreSQL에서 특정 테이블의 데이터만 추출하고 이를 다른 데이터베이스에 복원하는 과정은 pg_dumppsql 명령어를 사용하여 처리할 수 있습니다. 여기서는 데이터만 추출하고 복원하는 단계별 방법을 설명드리겠습니다.

 

1. 데이터 추출

테이블의 데이터만 추출하기 위해 pg_dump 명령어를 사용합니다. 이 명령은 테이블 구조가 아닌 데이터만을 추출하는 옵션을 제공합니다.

pg_dump -h [호스트명] -p [포트] -U [사용자명] -d [데이터베이스명] -t [테이블명] --data-only -f [파일명].sql
  • -h: 데이터베이스 서버의 호스트명입니다.
  • -p: 데이터베이스 서버의 포트번호입니다.
  • -U: 데이터베이스 사용자 이름입니다.
  • -d: 데이터베이스 이름입니다.
  • -t: 데이터만 추출할 테이블 이름입니다.
  • --data-only: 데이터만 추출합니다.
  • -f: 추출한 데이터를 저장할 파일의 이름입니다.

예를 들어, 데이터베이스 mydatabasemytable 테이블에서 데이터만 추출하려면 다음과 같이 명령을 실행합니다.

pg_dump -h localhost -p 5432 -U myuser -d mydatabase -t mytable --data-only -f mytable_data.sql

 

2. 데이터 복원

추출된 데이터 파일(mytable_data.sql)을 다른 데이터베이스에 복원하기 위해서는 psql 명령어를 사용합니다.

psql -h [목적지 호스트명] -p [목적지 포트] -U [목적지 사용자명] -d [목적지 데이터베이스명] -f [파일명].sql

복원할 데이터베이스에 동일한 테이블 구조가 이미 존재해야 합니다. 예를 들어, mytable_data.sql 파일을 mydatabase 데이터베이스에 복원하려면 다음과 같이 명령을 실행합니다.

psql -h localhost -p 5432 -U myuser -d mydatabase -f mytable_data.sql

이 방법으로 특정 테이블의 데이터만을 다른 환경으로 손쉽게 옮길 수 있습니다. 데이터베이스 간 이동이나 백업 작업에 유용하게 사용될 수 있습니다.

반응형