728x90
728x90
- 파일로 내보내고 가져오기
COPY 명령을 사용하여 데이터를 파일로 내보내고, 이를 다른 데이터베이스에 가져옵니다. - dblink을 사용하여 직접 전송
PostgreSQL의 확장 기능인 dblink를 활용하여 데이터베이스 간 직접 복사합니다.
아래 각각의 방법을 예제로 설명드리겠습니다.
1. 파일로 내보내고 가져오기
- 첫 번째 데이터베이스에서 파일로 내보내기
\c source_database_name; -- 소스 데이터베이스 연결
COPY source_table TO '/tmp/data.csv' DELIMITER ',' CSV HEADER;
- 두 번째 데이터베이스로 가져오기
\c target_database_name; -- 대상 데이터베이스 연결
COPY target_table FROM '/tmp/data.csv' DELIMITER ',' CSV HEADER;
- 설명:
- DELIMITER ','는 필드 구분자를 지정합니다.
- CSV HEADER는 CSV 파일에 헤더가 포함되었음을 나타냅니다.
- 경로 /tmp/data.csv는 서버가 접근할 수 있는 위치여야 합니다.
2. dblink를 사용하여 직접 복사
- dblink 확장 설치
CREATE EXTENSION IF NOT EXISTS dblink;
- 소스 데이터베이스에 연결하여 데이터 복사
INSERT INTO target_table
SELECT *
FROM dblink('dbname=source_database_name user=your_user password=your_password',
'SELECT * FROM source_table')
AS source_table(column1 datatype, column2 datatype, ...);
- 설명:
- source_database_name은 소스 데이터베이스 이름입니다.
- your_user와 your_password는 소스 데이터베이스의 사용자 계정입니다.
- column1, datatype 등은 소스 테이블의 컬럼과 데이터 타입을 지정해야 합니다.
참고 사항
- 권한: dblink를 사용할 경우, 두 데이터베이스 모두 적절한 권한이 필요합니다.
- 네트워크 연결: 두 데이터베이스가 서로 다른 서버에 있는 경우, 네트워크 연결 설정이 필요합니다.
- 성능: 대량 데이터 이동 시에는 파일을 사용하는 방법이 더 효율적일 수 있습니다.
어느 방법을 선택할지 상황에 맞게 판단하시면 됩니다. 추가적인 질문 있으시면 말씀해 주세요!
728x90
728x90
'PostgreSQL' 카테고리의 다른 글
오라클 프로시저와 포스트그레스 SQL 프로시저의 차이 (1) | 2024.12.18 |
---|---|
Windows 환경에서 PostgreSQL에 여러 SQL 파일을 일괄적으로 임포트하는 방법: 상세 가이드 (0) | 2024.12.04 |
Windows 환경에서 Ora2Pg를 사용하는 방법 (0) | 2024.12.03 |
dumpfile.dmp 에서 convertes_file.sql 이 생성되는 과정을 자세히 알고 싶어! (2) | 2024.12.03 |
오라클 Datapump 로 오라클에서 포스트그레sql로 마이그레이션 하는 과정 (0) | 2024.12.03 |