Notice
Recent Posts
Recent Comments
Link
꾸준한 개발일기
리눅스:: 데이터베이스에서 원하는 테이블만 백업(pg_dump)&복구하기 본문
반응형
운영서버에서 데이터를 백업하여 개발서버로 복구하였다. 하지만 몇몇 테이블이 오류가 나면서 데이터가 잘 들어오지 못했다. 이를 해결하기 위해 필요한 테이블을 찾아 개별적으로 복구해주기로 했다.
1. 데이터 백업
리눅스로 운영 db서버에 접속한다.
pg_dump -U 사용자명 -d DB명 -t 스키마.테이블명 > /경로/파일명.sql
pg_dump 명령어를 이용하여 백업한다.
예시)
pg_dump -U postgres -d postgres -t public.logIn > /home/centos/public_login.sql
2. 백업한 파일을 원하는 db서버에 업로드
나는 SFTP를 사용하였다.
3. 데이터 복구
psql -h xxx.xxx.xxx.xxx -U 사용자명 -d DB명 -f /경로/파일명.sql
ssh에 psql 명령어를 입력 후 비밀번호를 입력한다.
예시)
psql -h xxx.xxx.xxx.xxx -U postgres -d postgres -f /home/public_login.sql
SET
SET
SET
SET
SET
set_config
------------
(1 row)
SET
SET
SET
SET
SET
SET
psql:/home/public_login.sql:58: ERROR: relation "login" already exists
ALTER TABLE
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COPY 31
psql:/home/public_login.sql:324: ERROR: multiple primary keys for table "login" are not allowed
psql:/home/public_login.sql:331: ERROR: relation "login_i01" already exists
psql:/home/public_login.sql:338: ERROR: relation "login_i02" already exists
psql:/home/public_login.sql:345: ERROR: relation "login_pk" already exists
psql:/home/public_login.sql:353: ERROR: constraint "login_group_id_fkey" for relation "login" already exists
psql:/home/public_login.sql:361: ERROR: constraint "login_orgnzt_id_fkey" for relation "login" already exists
GRANT
GRANT
위처럼 로그가 뜬다.
기존에 만들어 놓은 테이블, 릴레이션, 기본키가 있어 에러가 발생하지만 데이터가 들어가는 데에는 문제가 발생하지 않으니 무시하여도 좋다. 기존에 만들어 놓지 않았다면 이러한 에러는 발생하지 않는다.
4. 데이터 확인
DBeaver를 열어 데이터가 잘 들어왔는지 확인한다.
반응형
'Programing > 리눅스' 카테고리의 다른 글
리눅스:: 크론탭(Crontab) 사용방법 (0) | 2022.02.07 |
---|---|
리눅스:: 백그라운드에서 명령어 실행하기(nohup) & 비밀번호 입력하는 방법 (2) | 2022.01.10 |
리눅스:: 데이터베이스 스키마(구조, 데이터x)만 백업하기(pg_dump) (0) | 2022.01.07 |
리눅스:: DB서버 데이터베이스 import 절차 (0) | 2021.12.29 |
리눅스:: 데이터베이스에서 원하는 스키마(데이터 포함)만 백업하기(pg_dump) (0) | 2021.12.28 |
Comments