SlideShare una empresa de Scribd logo
UNIVERSIDAD DE EL SALVADOR
 FACULTAD MULTIDISCIPLINARIA DE OCCIDENTE
DEPARTAMENTO DE INGENIERÍA Y ARQUITECTURA




 “REPLICACION CON POSTGRESQL”

                 CARRERA:
   INGENIERIA DE SISTEMAS INFORMATICOS

                 DOCENTE:
    ING. ERNESTO ALEXANDER CALDERON

                ALUMNOS:
      BATRES CISNEROS, DEYMI CORINA
      CASTRO MARTINEZ,JUAN CARLOS
    MENDEZ CADENAS, JOHANNA NATHALIE
   QUIÑONEZ GUERRERO, ROSA ESMERALDA
REPLICACION CON POSTGRESQL-SLONY-I EN WINDOWS


                                  POSTGRESQL

Es el gestor de bases de datos de codigo abierto mas avanzado hoy en dia, ofreciendo
control de concurrecia multiversion, soportando casi toda la sintaxis SQL,contando
tambien con un amplio conjunto de enlaces con lenguajes de programación.

Es un sistema de gestión de base de datos relacional orientada a objetos y libre,
publicado bajo la licencia BSD, como su nombre lo indica, utiliza el lenguaje SQL para
llevar a cabo sus búsquedas de información, las bases de datos generadas dentro de
servidores de SQL son bases de datos relacionales.

Las herramientas de replicación de bases de datos son imprescindibles para centros de
datos, Slony es una excelente elección cuando se requiere realizar una replicación
asíncrona de bases de datos de PostgreSQL.

Cumple completamente con las características atomicidad, consistencia, aislamiento y
durabilidad (Atomicity, Consistency, Isolation and Durability: ACID) para realizar
transacciones seguras, es multiplataforma, está disponible para 34 plataformas en su
última versión estable. Posee interfaces nativas para lenguajes como ODBC, JDBC, C,
C++, PHP, PERL, TCL, ECPG; PYTHON y RUBY, además de traer soporte para la
herencia y la seguridad de la capa de dispositivo de transportación de datos (Secure
Sockets Layer: SSL). Además, PostgreSQL puede ser personalizado por el usuario en
muchas formas, según sus necesidades, por ejemplo, adicionando entre otros, un nuevo:

   •   Tipo de datos.
   •   Funciones.
   •   Operadores.
   •   Funciones agregadas.
   •   Lenguajes procedurales.
HERRAMIENTA DE REPLICACION




   •   Slony-I




                           MODELOS DE REPLICACION

   •   PgAdmin3: Entorno de escritorio visual.
   •   PgAccess : Entorno de escritorio visual.
   •   PhpPgAdmin: Entorno Web.
   •   Psql: Cliente de consola.



                                        SLONY-I:

Es un sistema de replicacion asincrono para PostgreSql de una base de datos maestra
hacia multiples bases de datos hijas que realiza las actualizaciones utilizando triggers, lo
que significa que no puede propagar cambios de esquemas y operaciones con objetos .
Actualmente Slony solamente replica cambios a tablas y secuencias.

La ventaja que tenemos con Slony es que el servidor primario manda las actualizaciones
en tiempo real a la base de datos esclava y en caso de que falle el servidor primario,
continuamos trabajando con la base de datos esclava.

En el "origen" de cada tabla replicada, un trigger adicional se agrega y se almacena
schemadoclogtrigger () . Por cada suscriptor, las tablas son aumentadas con un trigger
que ejecuta la funcion schemadocdenyaccess (), esta función evita que cualquier cosa
que no sea el proceso slon actualice los datos en tablas replicadas. Además, todos los
otros factores desencadenantes y las normas sobre las tablas replicadas se suprimen en
los suscriptores. No se maneja "de forma automática," usted, como administrador de
base de datos, tendrá que construir una secuencia de comandos SQL DDL y lo
presentará, a través de slonik execute script.



                                   PREREQUISITOS


Instalar POSTGRESQL 8.4
Instalar Slony-I v.2.0.4-1
PGADMIN-III

Interfaz gráfica soporta todas las características de PostgreSQL y facilita enormemente
la administración. La aplicación también incluye un editor SQL con resaltado de
sintaxis, un editor de código de la parte del servidor, un agente para lanzar scripts
programados, soporte para el motor de replicación Slony-I y mucho más.




       CONCEPTOS IMPORTANTES ANTES DE EMPEZAR LA
                     REPLICACION



   •   Cluster: Conjunto de bases de datos PostgreSql dentro de las cuales sucede la
       replicacion.

   •   Nodo: Es una base de datos que participara en el proceso de replicacion.

   •   Set de Replicacion: Conjunto de tablas y secuencias que se replicaran.
•   Origen: proveedores y suscriptores: Los nodos que reciben la informacion se
    denomina nodos suscriptores, dichos nodos suscriptores se pueden en
    proveedores y s u vez tienen otros nodos suscriptores.

•   Comandos Slonik: E s un pequeño interprete que incluye comandos utilizados
    para la manipulacion del cluster de replicacion.

•   Suscriptores: Son todos los demás nodos en el cluster(esclavos), son los que
    reciben los datos en la réplica.


•   Proveedores: Es un nodo subscriber (esclavo) que sirve comoproveedor para un
    subconjunto de nodos en el cluster (actúa como un nodo origin pero no se
    permite a ninguna aplicación escribir en él.
INSTALACION Y CONFIGURACION DE POSTGRESQL-SLONY-I




REPLICANDO!!!

  1. crear la base de datos en ambos nodos maestro y esclavo.


         •   Abrir el programa pgAdmin III , clic derecho sobre servers y se nos mostrara
             una imagen como la siguiente en donde asignamos el nombre de nuestro
             Server(en nuestro caso ejemplo) y la direccion ip de nuestro nodo maestro .




             •   Creamos la misma base de datos en nuestro nodo maestro utilizando
                 nuestra aplicación PosgreSQL Maestro.Asignamos tablas y cmpos a
                 nuestra base de datos.
•   Clic en commit para agregar nuestra tabla.
•   En este caso agregaremos el campo nombre a nuestra primera tabla y
2. Agregamos la ruta para Slony desde file>options>slony_I path>c:program
   Files PostgreSQL8.4share
3. Crear una nueva regla de entrada para que nuestro firewall permita la conexión a
   traves del puerto 5432.




4. Configurar el archivo pg_hba

C:Program Files PostgreSQL 8.4datapg_hba.conf

Agregar las siguientes líneas

# TYPE DATABASE      USER       CIDR-ADDRESS        METHOD

# IPv4 local connections:
host all       all     127.0.0.1/32     md5
#maestro
host all       all     192.168.0.1/24    md5

#esclavo
host all       all     192.168.0.2/24     md5
# IPv6 local connections:
host all       all     ::1/128        md5


5. Ahora vamos a crear un script al cual se le introduce que tablas queremos replicar, se
   especifica quien será el nodo maestro y el nodo o nodos secundarios a los cuales
   queremos replicar nuestra información, etc...
Abre el bloc de notas, copia lo siguiente y modifica los parámetros de este script:

Para el nodo maestro:

 cluster name = slony_pruebaRE;

   node 1 admin conninfo = 'dbname=prueba host=192.168.0.2 user=postgres
   password=soloyo';
   node 2 admin conninfo = 'dbname=prueba host=192.168.0.1 user=postgres
   password=soloyo';

   init cluster (id=1, comment='Nodo Maestro');

   create set (id=1, origin=1, comment='mis tablas');
   set add table (set id=1, origin=1, id=1, fully qualified name='public.tabla1', comment='mi
   tabla ');

   store node (id=2, comment='Nodo Esclavo', EVENT NODE=1);

   store path (server=1, client=2, conninfo='dbname=prueba host=192.168.0.2 user=postgres
   password=soloyo');
   store path (server=2, client=1, conninfo='dbname=prueba host=192.168.0.1 user=postgres
   password=soloyo');

   store listen (origin=1, provider=1, receiver=2);
   store listen (origin=2, provider=2, receiver=1);



Para el nodo esclavo:

 cluster name = slony_pruebaRE;

   node 1 admin conninfo='dbname=prueba host=192.168.0.2 user= postgres
   password=soloyo';
   node 2 admin conninfo='dbname=prueba host=192.168.0.1 user= postgres
   password=soloyo';

   SUBSCRIBE SET ( ID=1, PROVIDER=1, RECEIVER=2, FORWARD= yes);




   6. Ejecutar desde la consola de Windows en la maquina maestra:

           C:Archivos de ProgramasPostgreSQL8.4binslonik maestra.txt

   7. Ejecutar desde la consola de Windows en la maquina esclava:
C:Archivos de ProgramasPostgreSQL8.4binslonik suscriptor.txt


   8. En Windows con tan solo ir a la línea de comandos en C:Program
      FilesPostgreSQL8.4bin> ejecutar:

                                - slon –regservice

Con esto hemos creado el servicio, ve a Servicios de Windows y busca el servicio
llamado Slony-I para verificar que todo se haya ejecutado correctamente, pero no lo
actives.En este momento los nodos ya están replicando, y no se deben cerrar las
consolas. Cada vez que inicies postgres debes iniciar el servicio de nuevo para
actualizar los datos de la replica.

Más contenido relacionado

PDF
Postgre sql y_replicacion_slony_p
DOCX
Instalacion de Postrgre sql en ubuntu
PDF
Admon PG 1
PPTX
Instalación y configuración de sgbd presentacion
PDF
William fabricio manual de sistemas sas
PDF
Slony i
PDF
LSWC PostgreSQL 9.1 (2011)
PDF
REPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTER
Postgre sql y_replicacion_slony_p
Instalacion de Postrgre sql en ubuntu
Admon PG 1
Instalación y configuración de sgbd presentacion
William fabricio manual de sistemas sas
Slony i
LSWC PostgreSQL 9.1 (2011)
REPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTER

La actualidad más candente (20)

DOC
Manual de conexión de base de datos distribuida
PDF
Taller Plataformas Tecnológicas MSDOS y UNIX
DOC
Tp1 db avanz-v1.1
PDF
Dba PostgreSQL desde básico a avanzado parte2
PDF
Manual del cluster mysql
DOCX
Practica de replicacion maestro esclavo en mysql
ODP
04 Primeros pasos con my sql
PPTX
Objeto Sql Command
DOC
Instalacion zoneminder
PDF
Reporte cluster
PDF
Instalación Oracle 11gR2 en Linux Centos 5.5
PDF
9 managing processes
PDF
Como crear usuarios y asignar permisos en postgre sql blog de alevsk
PDF
Replicacion en mysq
PDF
Manual de hacker 131 trucos elhacker hacking webs, hack msn messenger 7, se...
DOCX
Instalación de Oracle Database 11g R2 sobre Oracle Linux X86_64
PDF
Practica 2 FTP
PDF
Installacion De Una Base De Datos Mysql En Linux
PDF
Taller programación web ajax con jquery
PDF
Aprendiendopostgresql 090812172635-phpapp01
Manual de conexión de base de datos distribuida
Taller Plataformas Tecnológicas MSDOS y UNIX
Tp1 db avanz-v1.1
Dba PostgreSQL desde básico a avanzado parte2
Manual del cluster mysql
Practica de replicacion maestro esclavo en mysql
04 Primeros pasos con my sql
Objeto Sql Command
Instalacion zoneminder
Reporte cluster
Instalación Oracle 11gR2 en Linux Centos 5.5
9 managing processes
Como crear usuarios y asignar permisos en postgre sql blog de alevsk
Replicacion en mysq
Manual de hacker 131 trucos elhacker hacking webs, hack msn messenger 7, se...
Instalación de Oracle Database 11g R2 sobre Oracle Linux X86_64
Practica 2 FTP
Installacion De Una Base De Datos Mysql En Linux
Taller programación web ajax con jquery
Aprendiendopostgresql 090812172635-phpapp01
Publicidad

Similar a Replicacion con postgresql y slony (20)

DOCX
Replicación de Base de Datos en PostGreSQL 9.4 en Sistemas Operativos de Win...
PDF
PostgreSQL BDR - Altenwald.pdf
PDF
Pg pool cluster postgresql
PDF
Cluster con postgresql
PDF
Replicacion Postgresql
DOCX
Base de datos_-_material_didactico
PDF
Taller de base de datos postgre sql
PDF
Potsgrade emerson
PDF
Clase 2 - Arquitectura de Postgres
PDF
Replicacion de datos en Oracle
PDF
PostgreSQL: Un motor Impulsado por una comunidad
PPTX
PostgreSQL
PDF
Postgre Sql Para Las Empresas Cubanas
PPTX
SGBD Postgresql
PDF
Instalacion de postgre sql
PPT
Posgres Sql2
PDF
Documentacion postgresql
PPTX
Arquitectura e implementación de PostgreSQL 9.3
ODP
Comparación de algunos SGBDR
Replicación de Base de Datos en PostGreSQL 9.4 en Sistemas Operativos de Win...
PostgreSQL BDR - Altenwald.pdf
Pg pool cluster postgresql
Cluster con postgresql
Replicacion Postgresql
Base de datos_-_material_didactico
Taller de base de datos postgre sql
Potsgrade emerson
Clase 2 - Arquitectura de Postgres
Replicacion de datos en Oracle
PostgreSQL: Un motor Impulsado por una comunidad
PostgreSQL
Postgre Sql Para Las Empresas Cubanas
SGBD Postgresql
Instalacion de postgre sql
Posgres Sql2
Documentacion postgresql
Arquitectura e implementación de PostgreSQL 9.3
Comparación de algunos SGBDR
Publicidad

Último (20)

PDF
Plantilla para Diseño de Narrativas Transmedia.pdf
DOCX
Trabajo colaborativo Grupo #2.docxmkkkkkkl
PDF
ACTIVIDAD 2.pdf j
PDF
La electricidad y la electrónica .pdf n
DOCX
Trabajo colaborativo Grupo #2.docxmmuhhlk
PDF
Temas y subtemas de las fichas 1 y 2.pdf
PDF
clase auditoria informatica 2025.........
PDF
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
PDF
Estrategia de apoyo tecnología miguel angel solis
PPTX
historia_web de la creacion de un navegador_presentacion.pptx
PDF
Influencia-del-uso-de-redes-sociales.pdf
PDF
Calidad desde el Docente y la mejora continua .pdf
PPTX
Administración se srevidores de apliaciones
PDF
diagrama de pareto.pdf valerie giraldo diaz
PDF
Conceptos básicos de programación tecnología.pdf
PPT
Que son las redes de computadores y sus partes
PPTX
REDES INFORMATICAS REDES INFORMATICAS.pptx
PDF
taller de informática - LEY DE OHM
PDF
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
PPTX
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
Plantilla para Diseño de Narrativas Transmedia.pdf
Trabajo colaborativo Grupo #2.docxmkkkkkkl
ACTIVIDAD 2.pdf j
La electricidad y la electrónica .pdf n
Trabajo colaborativo Grupo #2.docxmmuhhlk
Temas y subtemas de las fichas 1 y 2.pdf
clase auditoria informatica 2025.........
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
Estrategia de apoyo tecnología miguel angel solis
historia_web de la creacion de un navegador_presentacion.pptx
Influencia-del-uso-de-redes-sociales.pdf
Calidad desde el Docente y la mejora continua .pdf
Administración se srevidores de apliaciones
diagrama de pareto.pdf valerie giraldo diaz
Conceptos básicos de programación tecnología.pdf
Que son las redes de computadores y sus partes
REDES INFORMATICAS REDES INFORMATICAS.pptx
taller de informática - LEY DE OHM
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad

Replicacion con postgresql y slony

  • 1. UNIVERSIDAD DE EL SALVADOR FACULTAD MULTIDISCIPLINARIA DE OCCIDENTE DEPARTAMENTO DE INGENIERÍA Y ARQUITECTURA “REPLICACION CON POSTGRESQL” CARRERA: INGENIERIA DE SISTEMAS INFORMATICOS DOCENTE: ING. ERNESTO ALEXANDER CALDERON ALUMNOS: BATRES CISNEROS, DEYMI CORINA CASTRO MARTINEZ,JUAN CARLOS MENDEZ CADENAS, JOHANNA NATHALIE QUIÑONEZ GUERRERO, ROSA ESMERALDA
  • 2. REPLICACION CON POSTGRESQL-SLONY-I EN WINDOWS POSTGRESQL Es el gestor de bases de datos de codigo abierto mas avanzado hoy en dia, ofreciendo control de concurrecia multiversion, soportando casi toda la sintaxis SQL,contando tambien con un amplio conjunto de enlaces con lenguajes de programación. Es un sistema de gestión de base de datos relacional orientada a objetos y libre, publicado bajo la licencia BSD, como su nombre lo indica, utiliza el lenguaje SQL para llevar a cabo sus búsquedas de información, las bases de datos generadas dentro de servidores de SQL son bases de datos relacionales. Las herramientas de replicación de bases de datos son imprescindibles para centros de datos, Slony es una excelente elección cuando se requiere realizar una replicación asíncrona de bases de datos de PostgreSQL. Cumple completamente con las características atomicidad, consistencia, aislamiento y durabilidad (Atomicity, Consistency, Isolation and Durability: ACID) para realizar transacciones seguras, es multiplataforma, está disponible para 34 plataformas en su última versión estable. Posee interfaces nativas para lenguajes como ODBC, JDBC, C, C++, PHP, PERL, TCL, ECPG; PYTHON y RUBY, además de traer soporte para la herencia y la seguridad de la capa de dispositivo de transportación de datos (Secure Sockets Layer: SSL). Además, PostgreSQL puede ser personalizado por el usuario en muchas formas, según sus necesidades, por ejemplo, adicionando entre otros, un nuevo: • Tipo de datos. • Funciones. • Operadores. • Funciones agregadas. • Lenguajes procedurales.
  • 3. HERRAMIENTA DE REPLICACION • Slony-I MODELOS DE REPLICACION • PgAdmin3: Entorno de escritorio visual. • PgAccess : Entorno de escritorio visual. • PhpPgAdmin: Entorno Web. • Psql: Cliente de consola. SLONY-I: Es un sistema de replicacion asincrono para PostgreSql de una base de datos maestra hacia multiples bases de datos hijas que realiza las actualizaciones utilizando triggers, lo que significa que no puede propagar cambios de esquemas y operaciones con objetos . Actualmente Slony solamente replica cambios a tablas y secuencias. La ventaja que tenemos con Slony es que el servidor primario manda las actualizaciones en tiempo real a la base de datos esclava y en caso de que falle el servidor primario, continuamos trabajando con la base de datos esclava. En el "origen" de cada tabla replicada, un trigger adicional se agrega y se almacena schemadoclogtrigger () . Por cada suscriptor, las tablas son aumentadas con un trigger que ejecuta la funcion schemadocdenyaccess (), esta función evita que cualquier cosa que no sea el proceso slon actualice los datos en tablas replicadas. Además, todos los otros factores desencadenantes y las normas sobre las tablas replicadas se suprimen en los suscriptores. No se maneja "de forma automática," usted, como administrador de base de datos, tendrá que construir una secuencia de comandos SQL DDL y lo presentará, a través de slonik execute script. PREREQUISITOS Instalar POSTGRESQL 8.4 Instalar Slony-I v.2.0.4-1
  • 4. PGADMIN-III Interfaz gráfica soporta todas las características de PostgreSQL y facilita enormemente la administración. La aplicación también incluye un editor SQL con resaltado de sintaxis, un editor de código de la parte del servidor, un agente para lanzar scripts programados, soporte para el motor de replicación Slony-I y mucho más. CONCEPTOS IMPORTANTES ANTES DE EMPEZAR LA REPLICACION • Cluster: Conjunto de bases de datos PostgreSql dentro de las cuales sucede la replicacion. • Nodo: Es una base de datos que participara en el proceso de replicacion. • Set de Replicacion: Conjunto de tablas y secuencias que se replicaran.
  • 5. Origen: proveedores y suscriptores: Los nodos que reciben la informacion se denomina nodos suscriptores, dichos nodos suscriptores se pueden en proveedores y s u vez tienen otros nodos suscriptores. • Comandos Slonik: E s un pequeño interprete que incluye comandos utilizados para la manipulacion del cluster de replicacion. • Suscriptores: Son todos los demás nodos en el cluster(esclavos), son los que reciben los datos en la réplica. • Proveedores: Es un nodo subscriber (esclavo) que sirve comoproveedor para un subconjunto de nodos en el cluster (actúa como un nodo origin pero no se permite a ninguna aplicación escribir en él.
  • 6. INSTALACION Y CONFIGURACION DE POSTGRESQL-SLONY-I REPLICANDO!!! 1. crear la base de datos en ambos nodos maestro y esclavo. • Abrir el programa pgAdmin III , clic derecho sobre servers y se nos mostrara una imagen como la siguiente en donde asignamos el nombre de nuestro Server(en nuestro caso ejemplo) y la direccion ip de nuestro nodo maestro . • Creamos la misma base de datos en nuestro nodo maestro utilizando nuestra aplicación PosgreSQL Maestro.Asignamos tablas y cmpos a nuestra base de datos.
  • 7. Clic en commit para agregar nuestra tabla.
  • 8. En este caso agregaremos el campo nombre a nuestra primera tabla y
  • 9. 2. Agregamos la ruta para Slony desde file>options>slony_I path>c:program Files PostgreSQL8.4share
  • 10. 3. Crear una nueva regla de entrada para que nuestro firewall permita la conexión a traves del puerto 5432. 4. Configurar el archivo pg_hba C:Program Files PostgreSQL 8.4datapg_hba.conf Agregar las siguientes líneas # TYPE DATABASE USER CIDR-ADDRESS METHOD # IPv4 local connections: host all all 127.0.0.1/32 md5 #maestro host all all 192.168.0.1/24 md5 #esclavo host all all 192.168.0.2/24 md5 # IPv6 local connections: host all all ::1/128 md5 5. Ahora vamos a crear un script al cual se le introduce que tablas queremos replicar, se especifica quien será el nodo maestro y el nodo o nodos secundarios a los cuales queremos replicar nuestra información, etc...
  • 11. Abre el bloc de notas, copia lo siguiente y modifica los parámetros de este script: Para el nodo maestro: cluster name = slony_pruebaRE; node 1 admin conninfo = 'dbname=prueba host=192.168.0.2 user=postgres password=soloyo'; node 2 admin conninfo = 'dbname=prueba host=192.168.0.1 user=postgres password=soloyo'; init cluster (id=1, comment='Nodo Maestro'); create set (id=1, origin=1, comment='mis tablas'); set add table (set id=1, origin=1, id=1, fully qualified name='public.tabla1', comment='mi tabla '); store node (id=2, comment='Nodo Esclavo', EVENT NODE=1); store path (server=1, client=2, conninfo='dbname=prueba host=192.168.0.2 user=postgres password=soloyo'); store path (server=2, client=1, conninfo='dbname=prueba host=192.168.0.1 user=postgres password=soloyo'); store listen (origin=1, provider=1, receiver=2); store listen (origin=2, provider=2, receiver=1); Para el nodo esclavo: cluster name = slony_pruebaRE; node 1 admin conninfo='dbname=prueba host=192.168.0.2 user= postgres password=soloyo'; node 2 admin conninfo='dbname=prueba host=192.168.0.1 user= postgres password=soloyo'; SUBSCRIBE SET ( ID=1, PROVIDER=1, RECEIVER=2, FORWARD= yes); 6. Ejecutar desde la consola de Windows en la maquina maestra: C:Archivos de ProgramasPostgreSQL8.4binslonik maestra.txt 7. Ejecutar desde la consola de Windows en la maquina esclava:
  • 12. C:Archivos de ProgramasPostgreSQL8.4binslonik suscriptor.txt 8. En Windows con tan solo ir a la línea de comandos en C:Program FilesPostgreSQL8.4bin> ejecutar: - slon –regservice Con esto hemos creado el servicio, ve a Servicios de Windows y busca el servicio llamado Slony-I para verificar que todo se haya ejecutado correctamente, pero no lo actives.En este momento los nodos ya están replicando, y no se deben cerrar las consolas. Cada vez que inicies postgres debes iniciar el servicio de nuevo para actualizar los datos de la replica.