DevOps além das ferramentas: lições de um estudo de caso sobre CALMS e as Três Maneiras

Recentemente, participei de um desafio do curso de DevOps da Rocketseat. O objetivo era analisar o cenário de uma empresa fictícia e propor melhorias com base no modelo CALMS e nas Três Maneiras do DevOps. À primeira vista, o exercício parecia ser sobre automação, CI/CD e deploys. Porém, ao analisar o caso, ficou claro que os principais problemas não estavam relacionados à falta de ferramentas, mas à forma como as equipes trabalhavam. ...

06/06/2026 · 6 min · 1153 words · Dirlei Friedrich

Como comecei a aplicar DevOps no meu dia a dia com PostgreSQL e Protheus

Durante muito tempo, enxerguei DevOps como algo distante da minha realidade. Parecia um assunto sempre associado a Kubernetes, pipelines complexos e uma infinidade de ferramentas que, sinceramente, não faziam muito sentido no meu dia a dia com ERP Protheus e banco de dados. Mas essa percepção começou a mudar quando retomei meus estudos e passei a olhar para DevOps de uma forma mais prática. DevOps não é apenas sobre ferramentas. É, principalmente, sobre criar ambientes mais previsíveis, automatizados e confiáveis. ...

02/05/2026 · 6 min · 1093 words · Dirlei Friedrich

PostgreSQL Reliability Lab - Lab 01: Ambiente confiável com Docker

Um dos problemas mais comuns ao trabalhar com banco de dados é a falta de consistência entre ambientes. Quantas vezes já vimos situações como: “Na minha máquina funciona” Diferenças entre desenvolvimento, homologação e produção Dados que não persistem após reiniciar o ambiente Dificuldade em reproduzir bugs Esses problemas geralmente não estão relacionados ao código da aplicação, mas sim à forma como o ambiente de banco de dados é configurado. Neste post, vou mostrar como construir um ambiente PostgreSQL utilizando Docker com foco em reprodutibilidade, persistência e confiabilidade, servindo como base para cenários mais avançados. ...

26/04/2026 · 3 min · 596 words · Dirlei Friedrich

Configurando PostgreSQL no Windows para Ambiente de Desenvolvimento com Protheus

Instalar PostgreSQL no Windows para um ambiente de desenvolvimento com Protheus não é apenas questão de executar um instalador. É necessário configurar o banco corretamente para que a integração com DBAccess funcione de forma estável e previsível. Este guia apresenta o passo a passo completo, desde o download até a integração total com o Protheus. ⚠️ Importante: Recomendação da TOTVS A instalação do PostgreSQL em Windows é recomendada APENAS para ambientes de desenvolvimento ou testes. ...

12/04/2026 · 8 min · 1563 words · Dirlei Friedrich

Backup Lógico vs Backup Físico no PostgreSQL: Entenda as Diferenças

O ponto de partida Quando começamos a trabalhar com backup no PostgreSQL, a primeira ferramenta que aparece é o pg_dump. Mas rapidamente surge uma dúvida importante: Isso é suficiente para produção? A resposta está diretamente ligada a entender a diferença entre backup lógico e backup físico. Essas duas abordagens não competem entre si: elas resolvem problemas distintos, e uma estratégia madura usa as duas. Uma analogia simples Antes de entrar nos detalhes técnicos, uma analogia ajuda a situar a diferença: ...

30/03/2026 · 3 min · 624 words · Dirlei Friedrich

PostgreSQL: origem, evolução e quem está por trás de um dos bancos open source mais avançados

O que é PostgreSQL O PostgreSQL é um sistema gerenciador de banco de dados objeto-relacional e open source. Na prática, isso significa combinar aderência forte ao padrão SQL com recursos clássicos de bancos relacionais, como transações, integridade e controle de concorrência, sem abrir mão de extensibilidade para criar tipos, funções, operadores e extensões. Esse equilíbrio explica por que ele é visto como um banco de dados generalista: funciona muito bem em sistemas transacionais e também atende cenários analíticos e geoespaciais. ...

23/03/2026 · 7 min · 1351 words · Dirlei Friedrich

EXISTS vs IN vs JOIN no SQL: qual usar e quando?

Uma dúvida comum entre desenvolvedores e analistas de dados é: Qual a diferença entre EXISTS, IN e JOIN? Essas três abordagens podem retornar o mesmo resultado, mas possuem diferenças importantes de comportamento e performance, especialmente em bases grandes. Para quem trabalha com ERP como o Protheus, onde as tabelas crescem rapidamente, entender essas diferenças ajuda a evitar consultas lentas e escolhas ruins de modelagem SQL. Neste artigo, vamos analisar: como cada abordagem funciona quando usar cada uma diferenças práticas de performance exemplos com tabelas comuns do Protheus Exemplo prático Imagine duas tabelas comuns em um cenário de ERP: ...

16/03/2026 · 4 min · 825 words · Dirlei Friedrich

DBOrderNickname no Protheus: um recurso pouco conhecido do AdvPL

Durante o desenvolvimento de rotinas no TOTVS Protheus, é comum trabalhar com múltiplos índices em uma tabela. Normalmente utilizamos DBSetOrder() informando apenas o número do índice, mas existe uma alternativa mais segura e legível: DBOrderNickname(). Surpreendentemente, muitos desenvolvedores não sabem que esse recurso existe. Neste post vou mostrar como utilizar essa função e por que ela pode tornar seu código mais robusto. O problema do DBSetOrder() O uso tradicional funciona assim: ...

15/03/2026 · 3 min · 485 words · Dirlei Friedrich

Como usar múltiplas contas no GitHub com SSH

Trabalhar com mais de uma conta no GitHub é algo bastante comum. Por exemplo: uma conta pessoal uma conta corporativa contas usadas em organizações específicas Sem uma configuração adequada, o Git pode acabar utilizando a chave SSH ou o usuário errado, gerando erros de autenticação ou registrando commits com o e-mail incorreto. Este guia mostra como configurar múltiplas identidades SSH para acessar diferentes contas no GitHub utilizando: chaves SSH separadas aliases no arquivo ~/.ssh/config configurações específicas em cada repositório O problema Quando utilizamos SSH para acessar o GitHub, o cliente SSH normalmente usa uma única chave padrão localizada em: ...

04/03/2026 · 3 min · 557 words · Dirlei Friedrich