수색…


통사론

  • dblink ( 'dbname = name_db_distance 포트 = PortOfDB 호스트 = HostOfDB 사용자 = usernameDB 암호 = passwordDB', 'MY QUESRY')

  • dbname = 데이터베이스의 이름

  • 포트 = 데이터베이스의 포트

  • host = 데이터베이스의 호스트

  • user = 데이터베이스의 사용자 이름

  • 암호 = 데이터베이스의 암호 ',

  • 내 질문 = 이건 내가하고 싶은 모든 작업이 될 수 있습니다. SELECT, INSERT, ...

dblink EXTENSION은 다른 데이터베이스를 연결하고이 데이터베이스의 작업을 수행하여 필요한 작업을 수행하는 기술입니다.

1 - dblink 확장 만들기 :

CREATE EXTENSION dblink;

2 - 귀하의 수술을하십시오 :

예 : 다른 데이터베이스의 다른 테이블에서 일부 속성을 선택하십시오.

SELECT * FROM 
dblink ('dbname = bd_distance port = 5432 host = 10.6.6.6 user = username 
password = passw@rd', 'SELECT id, code FROM schema.table') 
AS newTable(id INTEGER, code character varying);

확장 FDW

FDW는 dblink를 구현 한 것이므로 더 유용합니다.

1 - 확장 만들기 :

CREATE EXTENSION postgres_fdw;

2 - 서버 만들기 :

CREATE SERVER name_srv FOREIGN DATA WRAPPER postgres_fdw OPTIONS (host 'hostname', 
dbname 'bd_name', port '5432');

3 - postgres 서버에 대한 사용자 매핑 만들기

CREATE USER MAPPING FOR postgres SERVER name_srv OPTIONS(user 'postgres', password 'password');

4 - 외래 테이블 만들기 :

CREATE FOREIGN TABLE table_foreign (id INTEGER, code character varying) 
SERVER name_srv OPTIONS(schema_name 'schema', table_name 'table');

5 - 데이터베이스에있는 것처럼이 외부 테이블을 사용하십시오.

SELECT * FROM table_foreign;

외부 데이터 래퍼

단일 테이블 대신 서버 db의 전체 스키마에 액세스합니다. 아래 단계를 따르십시오.

  1. 확장 생성 :
    CREATE EXTENSION postgres_fdw;
  1. 서버 만들기 :
    CREATE SERVER server_name FOREIGN DATA WRAPPER postgres_fdw OPTIONS (host 'host_ip', 
    dbname 'db_name', port 'port_number');
  1. 사용자 매핑 만들기 :
    CREATE USER MAPPING FOR CURRENT_USER
    SERVER server_name
    OPTIONS (user 'user_name', password 'password');
  1. 서버 DB 스키마에 액세스 할 수있는 새 스키마 만들기 :
   CREATE SCHEMA schema_name;
  1. 가져 오기 서버 스키마 :
     IMPORT FOREIGN SCHEMA schema_name_to_import_from_remote_db
     FROM SERVER server_name
     INTO schema_name;
  1. 서버 스키마 테이블에 액세스 :
    SELECT * FROM schema_name.table_name; 

이것은 원격 DB의 여러 스키마에 액세스하는 데 사용될 수 있습니다.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow