DBLINK (Conectar una BD a otra BD) en Postgres 9.6 y Debian 9



1. Comprobamos la instalación de postgreSQL:
dpkg -l | grep postgres

ii  libreoffice-sdbc-postgresql           1:5.2.7-1+deb9u4                            amd64        PostgreSQL SDBC driver for LibreOffice
ii  postgresql-9.6                        9.6.10-0+deb9u1                             amd64        object-relational SQL database, version 9.6 server
ii  postgresql-client-9.6                 9.6.10-0+deb9u1                             amd64        front-end programs for PostgreSQL 9.6

ii  postgresql-client-common              181+deb9u2                                  all          manager for multiple PostgreSQL client versions
ii  postgresql-common                     181+deb9u2                                  all          PostgreSQL database-cluster manager
ii  postgresql-contrib-9.6                9.6.10-0+deb9u1                             amd64        additional facilities for PostgreSQL


El paquete donde esta dblink es postgresql-contrib si no en caso no estuviese ejecutar el siguiente comando para hacer la instalación:

apt-get install postgresql-contrib

1.2  Cambiamos de usuario

su postgres

1.3 Instalamos dblink en nuestra bd

 cd  /usr/share/postgresql/9.6/extension

ejecutamos la siguiente línea de comando como usuario postgres

psql bdbitacora -h localhost; dblink.sql

una vez ejecutado la anterior linea de comando, no pedira que ingresemo la contraseña de usuari postgres
Contraseña:
psql (9.6.10)
conexión SSL (protocolo: TLSv1.2, cifrado: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compresión: desactivado)
Digite «help» para obtener ayuda.


1.4 Desde el administrador de postgres de la base de datos  donde instalamos bdlink ejecutamos la siguiente línea de comando:

CREATE EXTENSION dblink


Ejemplo
*****************************************************************************
Select * from  dblink(
'dbname=bdprueba host=localhost user=postgres password=****',
'select tabla from bitacora')
as (tabla varchar);

****************************************************************************

SELECT dblink('dbname=bdprueba host=localhost user=postgres password=****','INSERT INTO public.estado(descripcion, estaactivo, prioridad)VALUES (''ESTADO'', TRUE, 8);');

Select * from  dblink(
'dbname=bdprueba host=localhost user=postgres password=****,
'select descripcion from estado')
as (descripcion varchar);

*****************************************************************************
ejem conexión e inserción de datos con dblink
SELECT dblink_connect('myconn', 'dbname=bdprueba host=localhost user=postgres password=****');

SELECT dblink_exec('myconn', 'insert into estado (descripcion, estaactivo, prioridad) values (''Prueba2'', TRUE, 11);'); 

Comentarios

Entradas populares de este blog

ScriptCase

Configurar adminlte + yii2