No video

PostgreSQL - Replicação de Base de Dados Em Tempo Real Para Obter Redundância e Escalabilidade

  Рет қаралды 8,432

Patrick Muniz

Patrick Muniz

Жыл бұрын

Neste vídeo você verá como configurar uma instância de replicação de banco de dados no postgresql.
O recurso de replicação no postgresql permite com que você replique em tempo real todas as operações do seu banco de dados principal para um banco de dados secundário, sendo útil para ter alta disponibilidade e até mesmo fazer load-balance de requisições.
#postgresql #database #replication #docker
❤️ Gostou do conteúdo, considere fazer uma doação:
Chave pix: 7d869525-94ef-4dd4-a95c-dc043c1ec9f6
📱Me acompanhe nos demais canais:
1️⃣ Instagram: / patrickmuniz.dev
2️⃣ Linkedin: / patrick-corr%c3%aaa-mu...

Пікірлер: 62
@NieltonMoraes
@NieltonMoraes Жыл бұрын
Patrick, eu consegui reproduzir exatamente o mesmo que voce. Agora estou precisando além de replicar, configurar o pool de conexões, para quando uma instancia cair uma outra assume a parada. Voce teria este tutorial?
@hemersonwillian5611
@hemersonwillian5611 Жыл бұрын
Excelente conteúdo parabéns pela didática e pelo conhecimento compartilhado Deus abençoe.
@klebersm
@klebersm Ай бұрын
👏👏👏👏
@rhawldj
@rhawldj 26 күн бұрын
Muito obrigado!
@LemoviskiRAP
@LemoviskiRAP Жыл бұрын
Patrick Muniz Excelente conteúdo. Obrigado por se dispor a explicar esse conteúdo tão necessário e ainda fez de forma simples e clara e objetiva.
@miguelvaldrighi6357
@miguelvaldrighi6357 Жыл бұрын
Muito bom! Parabéns pela abordagem
@lucasmaiamoreira
@lucasmaiamoreira Жыл бұрын
Muito bom Patrick Parabéns pela aula!
@netto_info
@netto_info Жыл бұрын
Parabéns pelo canal e pelo conteúdo, Patrick!
@mateusrocha8107
@mateusrocha8107 Жыл бұрын
Muito bom seu conteúdo, mano! Sucesso.
@NieltonMoraes
@NieltonMoraes Жыл бұрын
Sensacional. Muito obrigado!
@FredWilliamTornoJunior
@FredWilliamTornoJunior Жыл бұрын
Muito obrigado. Parabéns.
@jeanbroqua
@jeanbroqua Жыл бұрын
Valeu pela aula! 🍞
@denisquintasluiz506
@denisquintasluiz506 2 ай бұрын
Muito interessante 💯
@FabioLeonardoAlvesLeite
@FabioLeonardoAlvesLeite 10 ай бұрын
Excelente. Parabéns.
@hugomesquita6131
@hugomesquita6131 9 ай бұрын
Excelente conteúdo, mandou bem!
@MrDiegoverdan
@MrDiegoverdan 7 ай бұрын
E se houver alteração na instância REPLICATION? A MAIN recebe essa informação?
@rafaelg8238
@rafaelg8238 11 ай бұрын
excelente video, parabens. continue trazendo conteudos assim. como sugestao, traga conteudos do postgres em k8s. abs
@mkevison
@mkevison Жыл бұрын
Pra quem não estiver usando o docker e estiver no usuario root provável que seja necessário dar o comando: sudo chown postgres -R /var/lib/postgresql/{versão-do-postgres}/main/ Quando usei o comando pg_basebackup ele definiu a pasta do postgres para o root e o postgres não conseguiu iniciar, então com isso ele volta o acesso da pasta para o usuario postgres
@marcionascimento3846
@marcionascimento3846 5 ай бұрын
Muito bom!
@maurosma
@maurosma Жыл бұрын
É possível usar dois servidores com o mesmo banco de dados para balancear a carga. Neste exemplo a informação a informação do Master é replicada. O acesso é total é só no srv master.
@patrickmuniz7878
@patrickmuniz7878 9 ай бұрын
opa, você pode configurar um pgpool para atualizar como um proxy entre sua aplicação e os bancos de dados e ele faz esse papel de load balance da conexões.
@HudsonVentura
@HudsonVentura 5 ай бұрын
Patrick, excelente didática e um vídeo de conteúdo Premium. Parabens! Dúvida: existe uma maneira de transformar a minha(s) replica(s) em um banco de escrita, e que todos os nós funcione com comunicação bidirecional (tanto escrita como leitura para ambos os sentidos main->replica / replica->main)? Obrigado!
@denernun
@denernun 3 ай бұрын
Estou com esse problema, e a maioria dos vídeos é sobre isso de backup, eu quero algo útil ! Tenho 7 lojas e o servidor master é na cloud, como deixar todo mundo sincronizado e cada loja tem seu servidor local e vai usar esse servidor como o master da loja....acho que isso é o básico kkk
@FantasminhaGames
@FantasminhaGames 8 ай бұрын
Excelente video, me ajudou muito.
@marcelomsmms
@marcelomsmms Жыл бұрын
Muito bom, obrigado!
@user-nd2fv1zr9o
@user-nd2fv1zr9o Жыл бұрын
muito bom !
@talyssonsilva7520
@talyssonsilva7520 Жыл бұрын
muito bom, gostei, continue assim ótima didática. onde está o link dos arquivos que voce disse no video !?
@reginaldomartins3546
@reginaldomartins3546 Жыл бұрын
Muito bom o Vídeo!! mais fiquei com uma duvida, como monitorar no dia a dia se a replicação esta ok ou se ocorreu algum problema? aproveitando, com essa mesma configuração posso colocar mais de um slave ou tem algo mais a configurar?
@patrickmuniz7878
@patrickmuniz7878 Жыл бұрын
fala ai amigo, tudo beleza? então, hoje eu monitoro as vm's apenas, isso através do zabbix, claro que isso não garante que a replicação esteja funcionando, mas parto do principio que se configurei tudo certo, e ambos (master e replicas) estão conversando só irão parar de funcionar se acontecer alguma interrupção, geralmente a nível de VM, mas eventuamente dou uma olhada de forma manual nos logs. Sobre sua segunda pergunta não tem limite de replicas, a configuração é a mesma para qualquer replica, talvez o limite é a quantidade de slot que você definir no master, bem como recursos de infra. Enfim, espero ter ajudado, abraços.
@mkevison
@mkevison Жыл бұрын
Muito bom o vídeo Patrick! Me tira uma duvida, essa replicação é assincrona ou sincrona?
@patrickmuniz7878
@patrickmuniz7878 Жыл бұрын
Por padrão é assíncrona (podendo configurar para síncrono), porém o atraso da configuração assíncrona é quase imperceptível se ambos as bases estiverem na mesma rede.
@NieltonMoraes
@NieltonMoraes Жыл бұрын
Patrick, estou precisando aprender a configurar o failover com o pgpool para manter a alta disponibilidade de duas instancias postgis usando o docker. Com seu vídeo eu consegui realizar a replicação com sucesso. Teria um tutorial ensinando? Agradeço desde já. Obrigado
@d2vidguedes
@d2vidguedes 4 ай бұрын
Excelente explicação! Conteúdo muito bom. Uma dúvida a respeito, é possível realizar a replicação de uma única tabela para outra base?
@pettersonabade6169
@pettersonabade6169 4 ай бұрын
sim, é possível
@celiorubim
@celiorubim Жыл бұрын
Amigo, apenas uma pergunta. Eu preciso ter os S.Os que contem os banco de dados Identicos? ou seja um servidor Ubuntu18.4 no que contem o Postgree como master e outro servidor 18.4 no Slave (backup)? e aproveitando...as versoes do postegree tem que serem identicas pra efetuar a replicação?
@patrickmuniz7878
@patrickmuniz7878 Жыл бұрын
Sobre a primeira pergunta, pode subir o banco de dados em S.O's e versões diferentes. Sobre a segunda pergunta, nos meus testes só consegui replicar na msm versão.
@celiorubim
@celiorubim Жыл бұрын
@@patrickmuniz7878 muito obrigado!!
@patriciaamorim2704
@patriciaamorim2704 Жыл бұрын
Patrick, Otimo video Parabéns! Me tira uma duvida, no caso do master morrer, posso usar a replicação sem problemas? ou tem algum ajuste a ser feito?
@patrickmuniz7878
@patrickmuniz7878 Жыл бұрын
Opa, então, basta remover o arquivo standby.signal da raiz da instancia de replicação e reiniciar o banco que ele inicializará como um master.
@KuroManX
@KuroManX Жыл бұрын
sua didática é boa, vc deveria fazer mais vídeos, porém sei que na área de TI ter tempo livre é difícil
@hugomesquita6131
@hugomesquita6131 9 ай бұрын
Quando vou inserir, atualizar ou até deletar alguma informação no banco replication, dar erro de inserção Erro SQL [25006]: ERROR: cannot execute INSERT in a read-only transaction ERROR: cannot execute INSERT in a read-only transaction ERROR: cannot execute INSERT in a read-only transaction parece que a replica tá apenas como leitura. Como deixar a replica de leitura com permissão de inserir, deletar e atualizar ?
@patrickmuniz7878
@patrickmuniz7878 9 ай бұрын
Hugo, instancia de replicação funciona apenas como leitura, não é permitido fazer escrita. Você só consegue fazer operações nele a partir do momento de deixa de ser replica para virar um banco master. Se você precisa de uma arquitetura que seja necessário ter 2 ou mais bancos com possibilidade de escrita então você precisa procurar por banco "multi master", que não é o caso desse video, espero ter esclarecido.
@caio7520
@caio7520 Жыл бұрын
Opa Patrick blz ? tutorial incrível meu amigo, mas eu gostaria de fazer uma pergunta, no momento 26:31 você replicou outras instancias do postgresql, eu poderia fazer diferente por exemplo configurar um server master em uma VM e clonar ele assim transformando o clonado em slave?
@patrickmuniz7878
@patrickmuniz7878 Жыл бұрын
Opa Caio, blz? Sua abordagem proposta de clonar uma VM master creio que funcionaria sim, desde que claro fazendo as devidas configurações, na prática o que você deseja é fazer o mesmo trabalho do pg_base_backup só de de outra forma, enfim sugiro realizar o experimento em um ambiente de testes, boa sorte.
@badwolfrfl
@badwolfrfl Жыл бұрын
@Patrick Muniz, eu gostaria de saber se consigo fazer replicação, no caso para uma migração com uma versão diferente no PostgreSQL? Exemplo, meu master e slave atual está na versão 10 e, crio um novo slave com a versão 13. Ele replicaria?
@patrickmuniz7878
@patrickmuniz7878 Жыл бұрын
Olá Rafael, obrigado pelo comentário, na documentação atual do postgres tem sim a citação dessa possibilidade, mas confesso que nunca utilizei, valeria uma tentativa em um ambiente de testes, talvez migrar do 10 para 13 seria muito abrupto, mas migrar para 11 depois 12 e por fim para 13 via replication você teria mais chances de sucesso. Na documentação na sessão 19.6.3 fala sobre o assunto, segue o link: www.postgresql.org/docs/14/upgrading.html Por fim, boa sorte e sucesso.
@badwolfrfl
@badwolfrfl Жыл бұрын
@@patrickmuniz7878 muito obrigado pela atenção. PostgreSQL, tem estado em alta e, estou certo que seu conhecimento ajudará demais, aos que como eu, estão iniciando com essa engine. Fica a dica, faz um curso na Udemy de administração, com replicação entre versões, pq não tem isso não viu
@jeanpierremonteiroqueiroz6310
@jeanpierremonteiroqueiroz6310 Жыл бұрын
Boa noite Rafael,tudo bom ? A resposta correta é não,no video ele usa replicação fisica e para esse recurso é comendado que você utilize a mesma versão majoritária do postgresql ,mesmo S.O e o mesmo FS ( Replicação Fisíca é feita bloco a bloco,por isso precisa ter o mesmo ambiente).Replicação entre versões diferentes funciona apenas na replicação logica e este recurso esta disponivel a partir da versão 10 do postgres.
@antonioalexandre9563
@antonioalexandre9563 10 ай бұрын
Muito boa suas aulas mas eu gostaria de saber se tem com fazer uma replicação em ambiente Windows com PotgresSQL para backup
@patrickmuniz7878
@patrickmuniz7878 9 ай бұрын
Em teoria sim, creio que as configurações do postgres são iguais para qualquer plataforma
@leandrocapraracosta2520
@leandrocapraracosta2520 8 ай бұрын
Fala, Patrick. Beleza? Tenho uma big dúvida. Montei o arquivo docker-compose igual o seu mas os arquivos do postgresql não são copiados para a pasta master. O que eu posso estar fazendo de errado?
@jeanvictor7798
@jeanvictor7798 8 ай бұрын
também estou com o mesmo problema
@leandrocapraracosta2520
@leandrocapraracosta2520 8 ай бұрын
@@jeanvictor7798 Na real, os arquivos são copiados para a pasta mas as permissões para essa pasta mudam quando executamos o comando do docker-compose. Com ele rodando, rode um chmod nessa pasta em específico. Você verá os arquivos lá. O chato é que eu tive que rodar o chmod toda vez que executava o docker-compose. Tenta e me avisa.
@FelipeLyp
@FelipeLyp Жыл бұрын
Se o servidor primário cair, outros iram assumir?
@patrickmuniz7878
@patrickmuniz7878 Жыл бұрын
não, para ter esse recurso você precisa adicionar uma camada de "Proxy", como a ferramenta pgpool-II.
@rcerqueiraleite
@rcerqueiraleite 10 ай бұрын
Existe a possibilidade de fazer a replicação de duas vias, ou seja, um espelhando o outro. Digo isso para caso uma instância caia a outra assuma e depois faça a sincronia com o outro
@patrickmuniz7878
@patrickmuniz7878 9 ай бұрын
opa, o que você precisa é de uma arquitetura que tenha um "proxy" entre os bancos e sua aplicação, fazendo esse fail over em caso de falha. O software que pode te auxiliar é o pgpool-II.
@joaopauloperrotte
@joaopauloperrotte Жыл бұрын
O mais importante não foi feito nem falado, no titulo do video diz redundancia, ta e cadÊ ? se o banco principal cair, o outro assume automaticamente, do jeito q vc fez..nao, e se assumir, quando o master voltar ao ar..vai voltar como slave ? duvido muito , oq vc fez eh muito basico, tem imagens no dockerhub que ja sao pre configuradas pra subir como master e outra slave, a grande questao é fazer o failover..um cair e outra assumir a frente. perdi meu tempo com seu video
@patrickmuniz7878
@patrickmuniz7878 Жыл бұрын
Grato pelo feedback. Apenas complemento que redundância não se limita ao formato que você esperava, se o master cair no sentido de perder tudo msm, uma replica pode te salvar como um backup, mas de fato não falei de ferramentas como pg-pool que faz esse switch em caso de queda do principal.
@joaopauloperrotte
@joaopauloperrotte Жыл бұрын
@@patrickmuniz7878 isso que é o que mais falta no youtube sobre esse assunto, alta disponibilidade de banco de dados. tem muita coisa gringa mas nada muito claro, se souber seria bom fazer um video sobre.
@Vinaum8
@Vinaum8 Жыл бұрын
@@patrickmuniz7878 Patrick, seu vídeo ficou ótimo, vou dar uma estudada no PG Pool e colocar ele no meu lab para ter o fail over. Thanks!!!
🚀 TURBINE o Desempenho do seu POSTGRES utilizando Índices
16:34
Logical replication | Postgres.FM 063 | #PostgreSQL #Postgres podcast
46:01
PostgresTV 💙💛
Рет қаралды 1 М.
I'm Excited To see If Kelly Can Meet This Challenge!
00:16
Mini Katana
Рет қаралды 33 МЛН
ТЫ С ДРУГОМ В ДЕТСТВЕ😂#shorts
01:00
BATEK_OFFICIAL
Рет қаралды 10 МЛН
Crie aplicativos em FlutterFlow com banco de dados local
39:16
Léo Andrade
Рет қаралды 7 М.
PostgreSQL HA High Availability Tutorial
19:04
High-Performance Programming
Рет қаралды 45 М.
A maneira mais fácil de obter dados de QUALQUER site em minutos
12:27
Pensando Artificial
Рет қаралды 15 М.
PostgreSQL Indexing : How, why, and when.
31:21
PyCon AU
Рет қаралды 77 М.
EDB Postgres Distributed Explained - with LIVE DEMO
36:32
Tom Rieger
Рет қаралды 2,5 М.
Como Rodar o Postgres em Docker
24:47
Patrick Muniz
Рет қаралды 12 М.
Para quem usa o PostgreSQL e sofre com o Autovacuum
1:55:50
ConFLOSS
Рет қаралды 1,4 М.