En este grupo En todos

Grupo de Postgresql



Como Replicar un base de datos postgresql

gabriel
Ingenieria en sistemas universidad nac...
Escrito por Gabriel Fernandez
el 27/10/2010

Necesito replicar una base de datos postgre, con un nodo esclevo en windows y el nodo maestro en un linux...

Ademas necesito distribuir informacion entre gestores distintos ejemplo postgre y mysql


En si lo que le pido es ver si ustedes pueden ayudarme con esto o si tiene link que me puedan recomendar gracias

Marcelo Silva
Ingenieria en redes de información esc...
Escrito por Marcelo Silva
el 28/10/2010

Puedes utilizar algunos recursos:


Para replicar de postgres a postgres puedes utilizar skytools o pg-pool, este te genera maestros y esclavos es independiente de la plataforma donde la tengas instalado.


Para gesteroes distintos no he analizado ningúa herramienta ya que no he tenido esa necesidad, dejame verificar en internete para ver que se puede encontrar.



Gabriel Fernandez
Ingenieria en sistemas universidad nac...
Escrito por Gabriel Fernandez
el 14/11/2010

Hola maecelo te agradesco tu respuestas.. Y tambien para que supieran que he utilizado la configuracion de replicacion homegenea con slony-I y me a funcionado ahora solo me falta la heterogenea a ver que pasa

Maria Alvarez
Lara, Venezuela
Escrito por Maria Alvarez
el 17/01/2011

Hola yo ando en lo mismo quiero hacer replicas pero entre base de datos postgres, si me podrias recomendar un link donde pueda encontrar un buen tutorial o articulo donde expliquen en detalle la replicacion con slony, o pgpool ya que es primera vez que lo voy a implementar y no tengo mucha experiencia... Agredecida de antemano..

Marcelo Silva
Ingenieria en redes de información esc...
Escrito por Marcelo Silva
el 21/01/2011

Te voy aexplicar como hago yo la replicación con skytools en Centos.


Primero del repositorio de postgresql. X, instalo skytools con el siguiente comando:

Yum install skytools

Esto te instalara componentes desarrollados en Python, los archivos mas importantes son el pqgadm. Py (https://skytools.projects.postgresql. Org/doc/pgq-admin. Html) y el londiste. Py (https://skytools.projects.postgresql. Org/doc/londiste.config.html).


Se trabaja con dos archivos de cofiguración los nombres los puedes poner com tu los quieras llamar pero con teminacion. Ini.


El pgqadm. Py permite crear la cola de trabajo, en donde se acumularan las sentencias insert, delete y update, aquí describo el un archivo pgqadm. Ini:

[pgqadm]
# nombre del job unico
job_name = gestion_pgqadmmaster
db = dbname=gestion port=5432 host=192.168.20. Xx user=gestio password=xxxxx
# frecuencia de mantenimeinto
maint_delay_min = 5
# frecuencia de verificación de actividades
loop_delay = 0.1
logfile = /var/log/skytools/%(job_name)s. Log
pidfile = /var/log/skytools/%(job_name)s. Pid
use_skylog = 0
Con esto podremos realizar la instalación del schema pgqadm dentro de la base y levantar los tickets a replicar.

El siguiente paso es instalar con el comando pgqadm. Py /etc/skytools/pgqadm. Ini install

Luego levantar los tickets con el comando: pgqadm. Py -d /etc/skyttols/pgqadm. Ini ticker


El londiste. Py, permite enviar los datos de la replica al destino, para esto hay que crear el provider(esta es la base de datos principal de la que queremos replica), luego crear el subscriber que es quien receptara los datos.

Hay que primero crear una estructura en blanco de la base de datos en el servidor de destino o subscriber, las tablas para poder ser replicadas deben tener clave primaria, describo el archivo londiste. Ini que tiene la coenxión de la base principla y la conexión a la base destino:

[londiste]
#nombre de trabajo
job_name = gestion_londiste
provider_db = dbname=gestion port=5432 host=192.168.20. 1 user=gestio password=xxx
subscriber_db = dbname=gesreplica port=5432 host=192.168.20. 21 user=gestio password=xxx
pgq_queue_name = cola1_replicagestion
logfile = /var/log/skytools/%(job_name)s. Log
pidfile = /var/log/skytools/%(job_name)s. Pid
# loop_delay = 1
# lock_timeout = 10.0

Con este archivo creamos el provider o principal con el siguiente comando:

Londiste. Py /etc/skytools/londiste. Ini provider install

Esto creara un squema en la base de datos llamado londiste, ahora tenemos que indicar cuales son las tablas y secuencias que queremos replicar, utilizamos el siguiente comando:

Londiste /etc/skytools/londiste. Ini provider add nombredetabla

Londiste /etc/skytools/londiste. Ini provider add-seq nombredesequencia.


Ahora nos resta crear el subscriber, copiamos el archivo londiste. Ini al suscriber y utilizamos el comando:

Londiste. Py /etc/skytools/londiste. Ini subscriber install


Ahora agregamos las tablas y secuencias que recibiran los datos,


Londiste. Py /etc/skytools/londiste. Ini subscriber add nombredetabla

Londiste. Py /etc/skytools/londiste. Ini subscriber add-seq nombredesecuencia


Ahora solo tenemos que indicarle a londiste que replique los datos, en el servidor de base de datos principal ejecutamos el comando:

Londiste. Py -d /etc/skytools/londiste. Ini replay

La primera vez que empieza a replicar transfiere los datos desde la base de datos principal al destino, esto se llevara su tiempo dependiendo del tamaño de la base de datos.


Para ver el estado de la replica se utiliza el comando:


Pgqadm. Py /etc/skyttols/pgqadm. Ini status

Event queue Rotation Ticker TLag
------------------------------------------------------------------------------
cola1_replicagestion 3/7200s 500/3s/60s 3s
------------------------------------------------------------------------------

Consumer Lag LastSeen
------------------------------------------------------------------------------
cola1_replicagestion:
gestion1_londiste 3s 3s
------------------------------------------------------------------------------

Espero les sirva este pequeño manaul que acabo de escribir, me indican como les fue.







Marcos Costa Biola
Sao Paulo, Brasil
Escrito por Marcos Costa Biola
el 25/12/2011

Desenvolvemos aqui no Brasil uma ferramenta para replicação entre bases de dados heterogeneas. Com certeza resolve seu problema, rapido e simples de instalar. Se interessar maiores informações: marcos@object.com.br / www.object.com. Br

Marcelo Silva
Ingenieria en redes de información esc...
Escrito por Marcelo Silva
el 26/12/2011

Me parece muy interesante el producto, ¿Se podría realizar uná prueba del producto?



Marcos Costa Biola
Sao Paulo, Brasil
Escrito por Marcos Costa Biola
el 27/12/2011
Marcelo, se tiver um caso real, com interesse potencial real de aquisição da solução, SIM podemos realizar uma prova de conceito. Para maiores detalhes sobre como proceder nesta prova de conceito por favor contata me en marcos@object.com.br
Sara Lapasa
Buenos Aires, Argent...
Escrito por Sara Lapasa
el 20/04/2013

Para replicacion entre distintos motores, lo mejor que encontré es symmetric-ds

Evis Delgado
La Habana, Cuba
Escrito por Evis Delgado
el 01/05/2013

Sara soy estudiante de aqui de Cuba realizo mi tesis en symmetricDS pero no se configurarlo si me pudieras ayudar en este tema te lo agradeceria mucho. Gracias de antemano.

Escrito por Carmen Cano
el 21 de Septiembre

Hola buenos días, me podría ayudar a unas dudas que tengo con sysmmetriDS

Muchas gracias

Escrito por Marcelo Silva
El 28/10/2010

Puedes utilizar algunos recursos:


Para replicar de postgres a postgres puedes utilizar skytools o pg-pool, este te genera maestros y esclavos es independiente de la plataforma donde la tengas instalado.


Para gesteroes distintos no he analizado ningúa herramienta ya que no he tenido esa necesidad, dejame verificar en internete para ver que se puede encontrar.



"