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