Muchas Gracias por el contenido de tu video, esta solución me ayudo mucho en un proyecto!
@CodigoBinarioo6 ай бұрын
Me alegro que te ayudo. Saludos
@relajaod25 ай бұрын
Primero agradecerles por los videos, son muy ilustrativos y me han servido bastante para un proyecto de cluster de postgres. me podrias ayudar en saber como mantener la IP de conexion al postgres o al cluster para que se conecten desde las aplicaciones, en caso de una falla del nodo principal.
@CodigoBinarioo5 ай бұрын
Hola, lo de la ip lo podes hacer por dns
@renemirandamunoz39533 ай бұрын
Hola, estoy implementando la herramienta, estoy usando postgres 16 con repmgr 5.4, los tengo en 3 maquinas con debian 12 como s.o , una física y dos que están virtualizadas pero en maquinas diferentes, estoy realizando el failover automático pero cuando desconecto o detengo el servicio de postgres para el nodo principal hace el failover, se cambia el siguiente nodo y este queda como primario con un siguiente timeline, pero cuando restablezco el servicio del nodo que estaba conectado, entra al cluster como primario pero también con el mismo timeline, debido a lo anterior me quedan dos nodos primarios con diferentes timeline, osea que el nodo primario que estaba inactivo no se sincroniza con el nuevo nodo primario actual. ¿Como haría para que el nodo principal se sincronice con el nodo primario actual, que solo me quede un nodo primario corriendo y los demás nodos corriendo en standby ?
@CodigoBinarioo2 ай бұрын
Tenes que ver la conf de repmgr, creo que por ahi tenes el problema. SAludos
@eadweardturcotte435525 күн бұрын
Apreciable @CodigoBinarioo, este laboratorio funciona igual para Ubuntu Server? Gracias de antemano
@CodigoBinarioo24 күн бұрын
Si, puede ser que cambie el nombre de algunos paquetes
@mixup9594 Жыл бұрын
Excelente vídeo, lo realice en un rhel 9.1y cambian algunas cosas pero todo funciono bien. Tengo una duda, la base de datos que replica es la base de datos llamada "repmgr" pero, ¿Si tengo 3 bases de datos, como las puedo replicar?
@mixup9594 Жыл бұрын
O solo agrego las bases de datos que quiero replicar en el archivo del min 4:30. Ejemplo: # Allow replication connections from localhost, by a user with the # replication privilege. local replication all peer host replication all 127.0.0.1/32 scram-sha-256 host replication repmgr 1.1.1.0/24 trust host replication Base_datos_ejemplo 1.1.1.0724 trust podria ser de esta forma tomando de ejemplo " Base_datos_ejemplo". si es asi, ¿se debera agregar algo extra a la configuracion?
@CodigoBinarioo Жыл бұрын
Hola no entiendo tu pregunta, decís si tenes 3 master para replicar? repmgr es el software que maneja la replicación y la alta disponibilidad. Saludos
@mixup9594 Жыл бұрын
@@CodigoBinariooel detalles que si en un host tengo 3 base de datos, se puede replicar esas 3 bases de datos en los hosts de replica?
@CodigoBinarioo Жыл бұрын
Ahi le da permisos al host de la base, el pg_hba.conf es como si fuera iptables en linux. Lo que tenes que hacer es instalar repmgr en cada servidor y configurarlo como master y y slave. Saludos
@CodigoBinarioo Жыл бұрын
Si, replicas todo
@juancarlosmaya2899 Жыл бұрын
en el caso de que al momento de dar el comando "repmgr cluster matrix" me manda que los nodos son innaccessibles via ssh, y si configure el ssh para cada nodo y me deja entrar sin contraseña
@CodigoBinarioo Жыл бұрын
Fijate que sea reciproco, que te puedas conectar sin pass de uno a otro y viceversa y también que localmente se puede conectar sin contraseña. Saludos
@juancarlosmaya2899 Жыл бұрын
Si, si puedo conectarme con todos sin password e igual localmente y sigue sin conexión vía ssh almenos cuando pongo repmgr cluster matrix, no sé si sea configuración de sshd_config o de repmgr.conf
@CodigoBinarioo Жыл бұрын
Juan si el repmgr te dice que los nodos no son accesibles por ssh el problema esta ahi, tenes que mirar por ahi. Fijate que te debe de decir que nodo porque no deben de ser todos. Saludos
@flavioe.salasm.99226 ай бұрын
tenia el mismo error que tu. si conectas por ssh entre nodos pero no al hacer uso del comando repmgr cluster matrix el problema esta en el pg_hba.conf no quise colocarle trust por problemas de seguridad. yo cree un enviroment con las variables de postgres export PGUSER='postgres' export PGHOST='pg_host' export PGDATABASE='postgres' export PGPASSWORD=xxxxx' y lo llamo al logearme en el archivo /var/lib/pgsql/.bash_profile ese archivo no lo llama ssh y por ende no tengo acceso. es un problemita de accesos solucion activar variables de entorno en ssh. tambien puedes crear un script que carge las variables de entorno y ejecute el repmgr con tu argumento algo asi como #!/bin/bash # Cargar variables de entorno desde .env source /var/lib/pgsql/.env # Ejecutar repmgr con los argumentos pasados /usr/lib64/postgresql/14/bin/repmgr -f /var/lib/pgsql/repmgr.conf "$@"
@ottopaiz80642 ай бұрын
hola, tengo una pregunta? , las aplicaciones como saben cual es el nodo promovido a primario? o como se conectan las app despues de un cambio de rol??
@CodigoBinarioo2 ай бұрын
Las aplicaciones las tenes que conectar vos, podes hacer un script para que en caso de una caída se conecte al master disponible. Saludos
@UNk-wy2ug8 ай бұрын
@CodigoBinario sabes cual podria ser la razón que al ejecutar el comando repmgr node service --list-actions --action=start me mande un rechazo bash: por el comando repmgr no encontrado, ya revise el codigo y todo esta igual, desconozco la razón :c
@CodigoBinarioo8 ай бұрын
No esta en el path del usuario, agrégalo en el profile del usuario. Saludos
@UNk-wy2ug8 ай бұрын
@@CodigoBinarioo lo he realizado así, pero me meciona lo mismo, incluso he repetido el proceso postgres ALL= NOPASSWD: /bin/systemctl stop postgresql-13, \ /bin/systemctl start postgresql-13, \ /bin/systemctl status postgresql-13, \ /bin/systemctl restart postgresql-13, \ /bin/systemctl reload postgresql-13, \ /bin/systemctl start repmgr13, \ /bin/systemctl status repmgr13, \ /bin/systemctl restart repmgr13, \ /bin/systemctl reload repmgr13, \ /bin/systemctl stop repmgr13
@UNk-wy2ug8 ай бұрын
@@CodigoBinarioo que distribucion usaste para hacerlo?
@CodigoBinarioo8 ай бұрын
Centos
@UNk-wy2ug8 ай бұрын
@@CodigoBinarioo muchas gracias!!!!!
@erickmiranda61527 ай бұрын
@CodigoBinario hola, estoy realizando los pasos que indicas pero con la versio 15 de postgresql y repmgr , pero el servicio repmgr se cae , el error que indica es que no se sumninistra la password, alguna idea de por que ocurre esto con esa version?
@CodigoBinarioo7 ай бұрын
Pega acá el log para ver si te puedo ayudar
@JosAc-k6tАй бұрын
Hola espero pueda respomderme me funciono muy bien pero como hago que mis replica vuelvan a standby cuando el master vuelva a estar activo?
@CodigoBinariooАй бұрын
Volves a switchear, no recuerdo bien porque este video ya tiene un tiempo pero creo que esta ahi. Saludos
@jorgeluisduranmontero9098 Жыл бұрын
@CodigoBinarioo Saludos, tengo esta situación y quería saber si el video aplica para dar solución a la misma o si existe alguna variante o forma de hacerlo: Tengo un servidor postgresql con postgis para datos geográficos, coordenadas, polígonos, etc... a ese servidor se conectan 15 clientes en otros lugares, pero el servidor no siempre está funcional por situaciones energéticas en mi país... lo que necesitaría es implementar servidores en estos 15 clientes, y que el trabajo que se realice en todos estos se replique en el servidor principal.
@CodigoBinarioo Жыл бұрын
Hola Jorge como estas A ver si te entiendo, vos lo que queres que todos los servidores te repliquen a uno y que ese uno sea el que brinde servicios a los usuarios? un master a master? Saludos
@jorgeluisduranmontero9098 Жыл бұрын
@@CodigoBinarioo Algo así... a ver en mi empresa actualmente hay un servidor postgresql principal al que se conectan clientes de distintos lugares del país, pero resulta que aca hay muchos cortes eléctricos y cuando el servidor se apaga, los clientes no pueden trabajar..... Lo que estaba pensando es un servidor local para cada cliente, y que estos actualicen al provincial porque necesito tener toda la información de los clientes. Esa es la idea, que cuando se caiga el servidor principal puedan los clientes seguir trabajando y cuando levante el servidor provincial este se actualice de los cambios que han hecho los clientes, y los clientes a la vez se actualicen de los cambios realizados por otros clientes... no se si es un disparate y no se pueda hacer..
@CodigoBinarioo Жыл бұрын
Si se puede hacer pero ahi yo lo que haría es una replicación manual por medio de script de sql ya que ahi dependes mucho de las conexiones. Hay que estudiarlo bien pero si se puede
@a3tro2s6 ай бұрын
Hola Excelente video! me sirvió mucho pero tengo un detalle luego de instalar el repmgr13 el servicio queda abajo lo activo y luego le doy start y en el journalctl me sale este error: en particular: ay 31 16:52:45 SERVRL93A repmgrd[9262]: [2024-05-31 16:52:45] [NOTICE] using provided configuration file "/etc/repmgr/13/repmg> May 31 16:52:45 SERVRL93A repmgrd[9262]: [2024-05-31 16:52:45] [ERROR] following errors were found in the configuration file: May 31 16:52:45 SERVRL93A repmgrd[9262]: "conninfo": missing "=" after "localhost" in connection info string May 31 16:52:45 SERVRL93A repmgrd[9262]: (provided: "localhost") May 31 16:52:45 SERVRL93A systemd[1]: repmgr-13.service: Control process exited, code=exited, status=1/FAILURE Cabe destacar que en a linea de conninfo: ya he seteado la ip, el hostname, localhost pero igual me sigue saliendo "conninfo": missing "=" after "localhost" in connection info string
@CodigoBinarioo6 ай бұрын
Que tenes en el /etc/hosts
@a3tro2s6 ай бұрын
@@CodigoBinarioo Listo era el file pg_hba.conf y las reglas. ahora me sale esto; [postgres@SERVRL93A bin]$ /usr/pgsql-13/bin/repmgr primary register INFO: connecting to primary database... ERROR: connection to database failed DETAIL: fe_sendauth: no password supplied DETAIL: attempted to connect using: user=repmgr dbname=repmgr host=SERVRL93A connect_timeout=2 fallback_application_name=repmgr options=-csearch_path= y en el repmgr.conf tengo lo que pusistes en el comentario. pide esa password pero solo se seteo la de postgres en el SO. disculpa la joda, pero que llama esa variable $user en: psql -c 'ALTER USER repmgr SET search_path TO repmgr, "$user", public';
@CodigoBinarioo6 ай бұрын
Esto psql -c 'ALTER USER repmgr SET search_path TO repmgr, "$user", public'; lo que hace es setear el path al usurio en el schema public Desde todos los nodos podes conectarte pos ssh entre ellos sin poner el password? Saludos
@a3tro2s6 ай бұрын
@@CodigoBinarioo SI cree 2 ssh keygen uno con ip y otro con hostname y esta previamente configurado el archivo hosts de cada nodo para que se conecten entre si!