Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Curso de PostgreSQL

Curso de PostgreSQL

Oswaldo Rodríguez González

Oswaldo Rodríguez González

Implementación de Réplicas en Postgres

30/32
Recursos

Aportes 47

Preguntas 21

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Cloudjiffy ha cambiado y no permite tener IPv4 en Free, pero sigue siendo posible ejecutar el ejercicio así:
Después de recibir en el correo los accesos:
.

.
En lugar de usar una IP pública, nuestro host será node39168-xxx-cloudjiffy.net; sin embargo no podremos usar el puerto 5432, Debemos crear un endpoint para permitir el acceso a la BD. para ello vamos a las opciones de nuestro environment
.

.
Hacemos clic en el icono Amarillo con forma de engranaje/llave, seleccionar Endpoint y hacer clic en Add, llenar los datos así, en Node se debe seleccionar el NODO que contiene a la base de datos, en Name puede ser cualquier valor, pero el puerto que queremos alcanzar es 5432, así que al hacer clic en ADD el Endpoint asignará un puerto publico para poder acceder al puerto interno.:
.

.
Despues de hacer clic en ADD nos asigna el Puerto que Podemos usar para accede a la BD usando el host en forma de nombre de dominio y no IP, en éste caso fué 11052:
.

.
Ahora se puede continuar el ejercicio escribiendo el host node39168-xxx-cloudjiffy.net:11052 en lugar de la IP publica. Aplica tanto para master cómo réplica.

He creado un tutorial de Implementación de Réplicas en Postgres con Docker, en vista de que muchos han tenido problemas con Cloudjiffy al no permitir IPv4 en Free. Lo pueden encontrar en la sección de tutoriales del curso o aquí les dejo en link, espero sea de ayuda.
https://platzi.com/tutoriales/1480-postgresql/6559-implementacion-de-replicas-en-postgres-con-docker-2/

Implementación de Réplicas en Postgres

Las replicas consisten en tener multiples servidores de Postgresql con un minimo de un Master y una Replica

para lograrlo se deben realizar hacer cambios en las configuraciones de la base de datos Master

en postgresql.conf

# los archivos de bitacora se comporten como hot standby
# es decir mantiene los archivos hasta que las replicas los utilizen
wal_level = hot_standby

# Este valor corresponde a la cantidad de replicas que vamos a tener
max_wal_senders = 1

# Como trataremos los archivos de bitacora, los archivaremos para que los puedan leer lar replicas
archive_mode = on

# Se especifica un comando de linux para copiar los archivos
archive_command = 'cp %p /tmp/%f'

tambien en el archivo pg_hba.conf en la base de datos Master
se debe agregar la ip de la base de datos para replicacion

local   all         all                               md5
host    all         all         127.0.0.1/32          ident
host    all         all         ::1/128               ident
host    all         all         0.0.0.0/0             md5
host    replication all         xxxxxxxxxx/32         trust

Ahora para la base de datos de Replica nos conectamos por SSH

Detenemos el servicio

sudo service postgresql stop

Borramos los datos locales

rm -rf /var/lib/pgsql/data/*

Traemos todos los datos de master y los traemos a replica

pg_basebackup -U $user_de_master -R -D /var/lib/pgsql/data/ --host=$host_de_master_db --port=$puerto_de_la_master_db

Modificamos el archivo postgresql.conf de replica

# esto define este postgres como una base de datos de replica
hot_standby = on

Ahora que los cambios estan hechos reiniciamos el servicio

sudo service postgresql start

A partir de ahora las configuraciones se han guardado y ya funcionan en modo de master y replica

incluso la contraseña del servicio replica ahora sera la misma del servicio master

a partir de ahora todos los cambios hechos en master se recrean en replica, y cualquier cambio hecho en replica no se ejecutara ya que estara en modo de solo lectura.

Para poder activar la ipv4 parece que es necesario pagar 😦

Tristemente, esta parte del curso ya no es realizable porque CloudJiffy ahora permite solo una base de dator/env 😦

La única clase que se debe actualizar o tratar de explicar un poco mejor en relación a los cambios en los archivos de postgre en cada base de datos.

Que interesante esta clase, a un que no pude seguir la practica (No me pude conectar) segun lo que entendi las replicas son muy importantes

El profesor con un polo de whisky…

Estimados,

pueden hacer un ejemplo(video) de replicación sincrona y asincrona en linux?

debian por ejemplo.

Gracias.

No pude seguir al profe porque Cloudjiffy ya no funciona como en ese momento :\ no pude crear mas de un servidor ni tampoco tener la iP

El ejercicio fue excelente . Lo ideal es llevarlo a la vida real y hacer pruebas en caliente

Este Capitulo de replicas, es excelente, proximos proyectos como base de datos, elijo Postgresql

Like.

Alguien sabe por qué sale este error al intentar crear el servidor en pgAdmin¿?

Actualmente, no se permite ni activar IPv4 ni crear dos ambientes. Muy buena clase pero no se pudo practicar :c

esto esta sumamemente genial, me gustaria saber como puedo hacer para hacer dos servidores en mi entorno local y luego como hacer esto en Docker, si alguno ya conoce por favor dejemelo saber… Saludos

Fantasticos datos, lo hice con postgres 11.7 montado en un docker si alguien lo quiere ver
dos tres contenedores docker ligados con un network interno.

alexgandara/postgresCentosDocker

sufri un poco para hacerlo pero vale la pena…
gracias Oswaldo

¿Es posible actualizar la información en una réplica?

La respuesta es si, porque la base de datos Maestra actualiza sobre la replica. Entonces, si se puede.

El usuario puede hacerlo? no… entonces la pregunta, puede el usuario modificar la replica? la repsuesta es NO.

Pero la replica si es modificada por la base de datos Maestra, para que ahi los usuarios puedan hacer las consultas

hay un pequeño error de planteamiento en la pregunta

Ya se limitaron mas los servicios de CloudJiffy, solo permite crear 1 instancia por cuenta.

Muy sencillo y util.

Excelente clase.

Estimados,

Podrían hacer demos sin necesidad de herramientas externas replicación de servidor entero de BD y/o tablas en especifico. Todo sobre linux.

Gracias

Sin duda alguna es un excelente curso. Espero tenga muchos mas cursos

no pude crear los servers 😦

Considero que, para aquellos que no les permita crear los dos server en Cloudjiffy y que dicen que ya no es como en la clase, el profesor habla sobre una prueba gratuita de 15 días, para poder tenerla y seguir con la clase hay que dejar los datos de la tarjeta de crédito, toman la clase por 1-3 días y entendido los conceptos de la clase proceden a cancelar la suscripción y no se les va a cobrar nada. Es importante que hagan la cancelación de la suscripción sino, les cobrará pasados los 15 días.

Excelente la clase, solo que no pude crear un ambiente más puesto que CloudJiffy solamente da limite a crear un ambiente con cuenta gratuita.

Información resumida de esta clase
#EstudiantesDePlatzi

  • Al momento de crear las bases de datos debo configurarlas de tal modo que sepan que tendremos una réplica o más

  • Este proceso de crear réplicas de nuestra base de datos necesitaremos practicar con Jelastic y poder tener más confianza con la herramienta

Si están usando un init system diferente en linux, pueden usar el siguiente comando para detener el servicio:

pg_ctl -D $PREFIX/var/lib/postgresql stop
# o si tienen la variable $PGDATA declarada
pg_ctl stop

que clase más espectacular. ahora si. me motivoo aun más gracias ´profe

creo esto se podria hacer usando docker de manera sensilla y olvidandose de las configuraciones complicadas a las que se refiere el profe

Recomiendo pegar una lectura a la documentación oficial ya que existen distintos tipos de replicas:

https://www.postgresql.org/docs/9.0/different-replication-solutions.html

😱😱 Impresionante la clase 🤠👍

Excelente clase

Qué buena clase y qué sencillo es implementar réplicas en postgresql.

No me quedó claro que se debe hacer con Jelastic…

¿Se puede hacer replicas de Postgres con Docker?

Lastima que el servicio de CloudJiffy ha sido limitado, por ejemplo no me dejo activar la opcion de ip4. pero esta genial, lo probare de manera local

Luego de realizar la restauración en la BD MASTER, realicé una consulta en la BD REPLICA a la tabla cont_pasajero:

En Postgres, ¿que son replicaciones lógicas? y ¿Cómo funciona?

Bueno de momento cloudjifly no tiene habilitada la funcionalidad de IPv4 para cuentas free, aún así es una gran clase y los conceptos para replicar son de gran utilidad.

Cuando me conecte desde el backend a cual me debo conectar?

en la segunda instancia en cloudjiffy no me permite activar ipv4 porque no soy usuario de paga 😦

Interesante clase, lamentablemente no pude seguir la practica ya que no me llego el SMS con el codigo de verificacion.

tengo una duda, en que momento se configuro la ip de quien es la db master, se entende como restauraste y que esta preparada para ser replica pero no se como sabe a donde tiene que ir.

Os paso un tutorial en el que se explica con mucho detalle cómo hacer ‘replication’ de una DataBase con 2 máquinas dentro de una Red LAN. Yo lo he configurado y funciona perfectamente, aunque he tenido que
adaptar los parámetros a mis equipos, roles, etc. Esto lo deberá hacer cualquiera que trate de configurar esto.

Link: https://medium.com/omis-engineering/django-multiple-database-system-using-postgresql-master-slave-database-architecture-f71d4e9e53ba

Excelente clase