postgres_fdw 크로스 라이브러리 원격 데이터 조작 실현
1728 단어 postgresql
두 개의 서로 다른 라이브러리 간에 표 데이터에 서로 접근할 때 정상적인 상황에서는 하기 어렵다.간단한 사용 장면은 보고서 라이브러리와 응용 라이브러리의 상호작용이다.
예를 들어 지금 A 라이브러리 아래의user표를 조회하고 B 라이브러리 아래의dept표를 조회하려면 어떻게 관련 조회를 해야 합니까!결과는 할 수 없다.
그래서 목표 라이브러리에 원격 맵을 만들어야 합니다.
설명:
1. 서버 A 라이브러리(대상 데이터베이스)에 user 테이블이 있습니다. user 테이블에 대응하는 부서 데이터를 조회해야 합니다.
2.서버 B 라이브러리(원본 데이터베이스)에 dept표가 있습니다.
대상 데이터베이스 A에 연결을 만들고 원본 데이터베이스 B의 테이블을 A 라이브러리에 비추면 A 라이브러리가 B 라이브러리의 데이터에 접근할 수 있습니다.
하나.fdw 확장 설치
create extension postgres_fdw;
postgres의 모든 확장을 조회하여 fdw 설치가 성공했는지 확인합니다.
select * from pg_available_extensions;
2. 원격 서비스 만들기, 대상 라이브러리에 연결 만들기
CREATE SERVER b_server_11_ml FOREIGN DATA WRAPPER postgres_fdw OPTIONS (host '192.168.200.18', port '5432', dbname 'ais_ml',updatable 'true');
CREATE USER MAPPING FOR postgres SERVER b_server_11_ml OPTIONS (user 'postgres', password '123');
설명:b_server_11_ml:연결명,'192.168.200.18': 데이터베이스가 있는 서버 주소,'5432': 데이터베이스 포트,'ais_ml': 데이터베이스 이름
user'postgres': 사용자 이름은postgres,password'123': 비밀번호는 123입니다.
3. 원격 테이블 모델 가져오기
IMPORT FOREIGN SCHEMA "public"LIMIT TO ( dept_1,dept_2 )FROM SERVER b_server_11_ml INTO public;
설명: SCHEMA "public":public은 원본 라이브러리 B가 있는 SCHEMA를 가리킨다.
dept_1,dept_2: 소스 라이브러리 B에서 매핑해야 하는 테이블을 가리키며 여러 개의 경우 를 사용합니다.
b_server_11_ml INTO public:b_server_11_ml는 연결 이름을 가리키고,public는 테이블을 대상 라이브러리 B에 비추는 SCHEMA를 가리킨다
완성되면 목표 라이브러리 A에서 원본 라이브러리 B의 표를 볼 수 있습니다. 이때 원하는 데이터 조회를 할 수 있습니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
postgresql의 jsonb 데이터 조회 및 수정 방법jsonb PostgreSQL 문서에서 정의한 데이터 형식 json과 jsonb는 거의 같다.관건적인 차이점은 json 데이터는 JSON 입력 텍스트의 정확한 복사본으로 저장되고 jsonb는 분해된 2진 형식으로 데...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.