Cómo obtener datos entre diferentes base de datos

A veces es necesario poder copiar datos entre diferentes bases de datos, que incluso pueden residir en diferentes servidores. Postgresql proporciona una librería interesante para poder realizar dicho cometido.

DBlink consta de un conjunto de funciones diseñadas para realizar conexiones entre bases de datos Postgres, en el mismo server o en otros.. lo que se necesita es instalar DBlink en el servidor que hace la peticion..

Para implementar esto debes instalar el paquete contrib de la version que usas de postres

?

1 # aptitude install postgresql-contrib-8.3

el contrib de postgres provee una serie de funciones muy utiles para desarrolladores y administradores.

Para instalar la funcion en tu BD debes ser el usuario postgres y por lineas de comando:

?

1 $ cd /usr/share/postgresql/8.3/contrib

2 $ psql test_db u_test -h localhost < dblink.sql

Te conectas a la BD que tiene instalado el DBlink y realizas la consulta

?

1 $ psql test_db u_test -h localhost

La idea es trear datos de la BD my_db que esta en el servidor 191.168.50.90 y mostrarlos en la conexion establecida en test_db en localhost

?

1 test_db=# select * from

2 dblink ('dbname=my_db hostaddr=191.168.50.90 user=u_test password=123456 port=5432',

3 'select id,descripcion from tabla')  as t1(id int4,descripcion text);

Por ejemplo:

En la bbdd1 creamos una tabla:

psql dbtest CREATE TABLE tblB (id serial, time integer);

INSERT INTO tblB (time) VALUES (5000), (2000);

En la bbd2, creamo otra tabla, y la alimentaremos desde la tabla que reside en otra instancia:

psql postgres CREATE TABLE tblA (id serial, time integer);

INSERT INTO tblA     SELECT id, time      FROM dblink(‘dbname=dbtest’, ‘SELECT id, time FROM tblB’)     AS t(id integer, time integer)     WHERE time > 1000;

illatà !

Fuente: http://clippingme.wordpress.com/2011/12/12/postgresql-como-obtener-datos-entre-diferentes-base-de-datos/

Publicado el 5 marzo, 2012 en Postgresql. Añade a favoritos el enlace permanente. Deja un comentario.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: