Buscar..


Sintaxis

  • dblink ('dbname = name_db_distance port = PortOfDB host = HostOfDB usuario = usernameDB contraseña = passwordDB', 'MY QUESRY')

  • dbname = nombre de la base de datos

  • puerto = puerto de la base de datos

  • host = host de la base de datos

  • usuario = nombre de usuario de la base de datos

  • contraseña = contraseña de la base de datos ',

  • MI PREGUNTA = esto puede ser cualquier operación que quiera hacer SELECCIONAR, INSERTAR, ...

EXTENSIÓN de dblink es una técnica para conectar otra base de datos y hacer que esta base de datos funcione, para hacer lo que necesita:

1-Crear una extensión dblink:

CREATE EXTENSION dblink;

2-Haz tu operación:

Por ejemplo, seleccione algún atributo de otra tabla en otra base de datos:

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);

Extensión FDW

FDW es una implementación de dblink, es más útil, así que para usarlo:

1-Crear una extensión:

CREATE EXTENSION postgres_fdw;

2-Crear SERVIDOR:

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

3-Crear mapeo de usuario para servidor postgres

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

4-Crear tabla extranjera:

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

5-usa esta tabla externa como está en tu base de datos:

SELECT * FROM table_foreign;

Contenedor de datos extranjeros

Para acceder al esquema completo de la base de datos del servidor en lugar de una sola tabla. Siga los siguientes pasos:

  1. Crear EXTENSIÓN:
    CREATE EXTENSION postgres_fdw;
  1. Crear SERVIDOR:
    CREATE SERVER server_name FOREIGN DATA WRAPPER postgres_fdw OPTIONS (host 'host_ip', 
    dbname 'db_name', port 'port_number');
  1. Crear mapeo de usuario:
    CREATE USER MAPPING FOR CURRENT_USER
    SERVER server_name
    OPTIONS (user 'user_name', password 'password');
  1. Cree un nuevo esquema para acceder al esquema de la base de datos del servidor:
   CREATE SCHEMA schema_name;
  1. Importar esquema del servidor:
     IMPORT FOREIGN SCHEMA schema_name_to_import_from_remote_db
     FROM SERVER server_name
     INTO schema_name;
  1. Acceda a cualquier tabla de esquema de servidor:
    SELECT * FROM schema_name.table_name; 

Esto se puede usar para acceder a múltiples esquemas de bases de datos remotas.



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow