Ejemplo de Postgres Dblink

Ejemplo de Postgres Dblink

Observaremos la utilización de la extensión "dblink" de PostgreSQL en este artículo. El "Dblink" se usa cuando necesitamos acceder a tablas y vistas desde otras bases de datos dentro de una sesión de base de datos. Entonces, si tenemos dos bases de datos a las que queremos estar vinculados, se debe agregar una base de datos a la extensión Dblink y llamar a la otra. Buscaremos configurar la extensión Dblink en nuestras bases de datos y vincular dos bases de datos utilizando esta extensión en el entorno PostgreSQL. Después de eso, probaremos el enlace ejecutando algunas consultas en la base de datos.

La sintaxis para Dblink en PostgreSQL:

La sintaxis para usar dblink en PostgreSQL se menciona a continuación:

# dblink ("nombre de la conexión", "consulta SQL");

La consulta Dblink toma dos parámetros; En el primer parámetro, tenemos que indicar el nombre de la conexión en la que se crea el Dblink. En el segundo parámetro, tenemos que escribir cualquier consulta para ejecutar los datos presentes en ese enlace. La extensión Dblink a menudo se usa con la consulta "seleccionada", aunque otras consultas se pueden usar para recuperar o alterar datos en la conexión Dblink.

Ahora que estamos familiarizados con el funcionamiento de la extensión Dblink en Postgres, podemos esperar implementar este concepto en el entorno PostgreSQL.

Creación de conexión "Dblink" entre dos bases de datos en PostgreSQL:

Como sabemos, PostgreSQL permite que dos bases de datos se conecten de forma remota a través de la extensión "dblink", pero hay varios protocolos que deben seguirse para que esto se ejecute con éxito. Ahora discutiremos estos protocolos y proporcionaremos una guía detallada para ejecutar este concepto.

Primero, debemos iniciar sesión como superusador en el entorno PostgreSQL. Para hacer un superusor, podemos usar la siguiente consulta:

# Crear el usuario "Insertar nombre del usuario" Superuser;

Y si desea un Superuser con una contraseña, puede usar esta consulta:

# Crear el usuario "Insertar nombre del usuario" Superuser con contraseña 'Password_string';

Luego, crearemos dos bases de datos en el entorno PostgreSQL que utilizaremos para el acceso por la extensión "Dblink".

# Crear base de datos DB1;

La consulta anterior creará una base de datos llamada "DB1" en nuestro entorno.

# Crear base de datos DB2;

La consulta anterior creará una segunda base de datos llamada "DB2" en nuestro entorno.

También podemos ver y acceder a estas bases de datos mirando el menú lateral izquierdo de la ventana Pgadmin. Cuando hemos creado con éxito dos bases de datos, construiremos una tabla en nuestra base de datos "DB1" y la llenaremos con valores que usaremos en la segunda base de datos.

Crear empleado de la tabla
(
Emp_id int,
Emp_name varchar
);
Insertar en el empleado
VALORES
(1, 'Harry'),
(2, 'James'),
(3, 'John'),
(4, 'Alex');

La sintaxis anterior ayudará a crear una tabla e insertar valores en las tablas en nuestra base de datos "DB1".

Aplicación de la extensión "dblink" a la base de datos:

Hemos creado una tabla e insertado valores en ella. Ahora nos moveremos a nuestra segunda base de datos, "DB2" en la que llamaremos a esta tabla. Aquí podemos esperar aplicar una extensión de "dblink" a nuestra base de datos. Usaremos la siguiente consulta para hacerlo:

# Crear extensión dblink;

Esto permitirá que la base de datos use la extensión PostgreSQL "dblink" para acceder a las capacidades de la base de datos. Antes de avanzar, debemos verificar la conexión entre nuestras bases de datos; Para esto, escribiremos la siguiente consulta:

# Seleccione dblink_connect ('host = localhost user = aqsayasin contraseña = 12345 dbname = db1');

En la consulta anterior, el nombre del usuario y la contraseña cambiará en consecuencia al nombre y la contraseña del superusor que configuró anteriormente, junto con el nombre de la base de datos con la que desea verificar la conexión. Una vez que esto se ordene, ejecute la consulta, y si la conexión es exitosa, le dará esta salida:

En caso de que falle o arroje una excepción, debe volver a verificar la consulta para el nombre de usuario y la contraseña correctos.

Dblink con envoltorios de datos extranjeros:

Los envoltorios de datos extranjeros pueden definir claramente un servidor extranjero remoto para acceder a otros datos. Después de esto, podemos avanzar hacia la creación de un envoltorio de datos extranjeros en nuestra base de datos. Podemos crear un envoltorio de datos extranjeros mediante dos métodos y acceder a la base de datos con Dblink utilizando envoltorios de datos extranjeros en PostgreSQL:

Crear envoltorios de datos extranjeros utilizando la consulta:

El envoltorio de datos extranjeros se creará utilizando el comando adjunto a continuación de esta manera.

Crear envoltorios de datos extranjeros utilizando la opción del menú del navegador:

En el lado izquierdo de la ventana Pgadmin, podemos encontrar el menú del navegador que muestra cada entidad, incluidos los servidores, bases de datos y usuarios. En este menú, tenemos que localizar nuestra base de datos en la que tenemos que crear el envoltorio de datos extranjeros.

Después de seleccionar la base de datos, tenemos que localizar la opción etiquetada como "envoltorios de datos extranjeros" y hacer clic con el botón derecho en ella.

Seleccione las opciones "Crear" y "envoltura de datos extranjeras ...", respectivamente.

Esto abrirá una ventana con el título "Crear - Envoltura de datos extranjeras".

Complete el nombre del envoltorio de datos extranjeros y elija al usuario apropiado. Ahora puede almacenar la información y crear un envoltorio de datos extranjeros.

Después de crear un envoltorio de datos extranjeros, tenemos que crear un servidor para ello. Para esto, podemos usar una consulta "Crear servidor" como se indica a continuación:

# Crear Opciones FD1 de envoltura de datos del servidor Servidor1 (hostaddr 'ip_address', dbname 'db1');

O simplemente podemos localizar nuestro envoltorio de datos extranjeros en el menú del navegador en el lado izquierdo de la ventana y hacer clic con el botón derecho en él, seleccione la opción "Crear" y vaya a la opción "Servidor extranjero ...".

Esto lo llevará a la ventana "Crear - Servidor extranjero".

Nombre el servidor, seleccione el usuario de la lista en los campos de entrada y guárdelos para agregar un servidor extranjero a su envoltorio de datos extranjeros. Como hemos creado con éxito un servidor extranjero, tenemos que crear un mapa para el súper usuario que creamos anteriormente. Para esta tarea, utilizaremos la consulta establecida:

# Crear mapeo de usuario para opciones de servidor de servidor AQSAYASIN1 (usuario 'aqsayasin', contraseña '12345');

El nombre de usuario debe ser preciso para que esto ejecute y el otro usuario que estamos mapeando puede cambiar de acuerdo con la situación. Si esto se maneja correctamente, la salida será la siguiente:

El resultado anterior confirma que hemos creado una asignación de usuario.

Acceda a bases de datos con Dblink utilizando un envoltorio de datos extranjeros en PostgreSQL:

Como ha formado con éxito un mapeo de usuario. Ahora podemos usar el Dblink de este servidor para acceder a nuestra primera base de datos. Mostraremos el "EMP_ID" y el "EMP_NAME" de la tabla que creamos en nuestra primera base de datos utilizando esta consulta:

# SELECCIONAR * DE DBLINK ('SERVER1', 'SELECT EMP_ID, EMP_NAME DEL EMPLEADO')
Como datos (emp_id int, emp_name varchar);

Esta consulta después de la ejecución mostrará el contenido indicado de la tabla como se muestra a continuación:

Como puede ver, hemos accedido con éxito a una base de datos desde otra base de datos y mostramos el contenido de una tabla utilizando la extensión Dblink en PostgreSQL.

Conclusión:

En este tutorial, hemos deliberado la sintaxis y el uso de la extensión Dblink en PostgreSQL. Después de eso, buscamos implementar la extensión Dblink en el entorno PostgreSQL. Creamos una conexión entre dos bases de datos en nuestro entorno y luego utilizamos esa conexión para mostrar datos de la otra base de datos en este artículo.