10 recursos de SQL no PostgreSQL que todo profissional de dados deveria dominar

Aprender SQL costuma começar com SELECT, WHERE, JOIN, GROUP BY e ORDER BY. Esses fundamentos resolvem muitos problemas, mas o trabalho cotidiano com bancos de dados logo exige mais. Precisamos obter o registro mais recente de cada grupo, calcular acumulados, carregar dados sem criar duplicidades, investigar consultas lentas e coordenar operações concorrentes. Nesse ponto, conhecer apenas a sintaxe básica deixa de ser suficiente. Este artigo reúne dez recursos que considero especialmente úteis para quem trabalha com PostgreSQL, Engenharia de Dados, DBRE ou desenvolvimento de sistemas. A lista não pretende esgotar o SQL. Ela funciona como um mapa do que estudar depois dos fundamentos. ...

SQL da Semana #03 — DISTINCT ON: obtendo o registro mais recente por grupo

Em plataformas de dados, é comum armazenarmos o histórico de execuções de cada pipeline. Uma mesma rotina pode ter sido executada dezenas ou centenas de vezes, mas algumas consultas precisam mostrar apenas seu estado mais recente. No PostgreSQL, podemos resolver esse problema de forma concisa com DISTINCT ON. O problema Considere uma tabela que registra as execuções de pipelines: CREATE TABLE execucoes_pipeline ( id bigint GENERATED ALWAYS AS IDENTITY PRIMARY KEY, pipeline text NOT NULL, status text NOT NULL, iniciado_em timestamptz NOT NULL, finalizado_em timestamptz ); Cada linha representa uma execução: ...

SQL da Semana #02 — FILTER: agregações condicionais mais claras

Em relatórios SQL, é comum precisarmos calcular diferentes totais a partir do mesmo conjunto de dados. Imagine uma tabela de pedidos com a seguinte estrutura: CREATE TABLE pedidos ( id bigint GENERATED ALWAYS AS IDENTITY PRIMARY KEY, cliente_id bigint NOT NULL, status text NOT NULL, valor numeric(12, 2) NOT NULL, criado_em timestamp NOT NULL DEFAULT current_timestamp ); Queremos apresentar, em uma única consulta: quantidade total de pedidos; pedidos pagos; pedidos pendentes; pedidos cancelados; valor total dos pedidos pagos. A solução tradicional com CASE Uma forma comum de resolver o problema é colocar expressões CASE dentro das funções de agregação: ...

SQL da Semana #01 — RETURNING: obtendo dados sem fazer uma nova consulta

Ao inserir um registro no PostgreSQL, é comum precisar do identificador gerado pelo banco para continuar o processamento. Uma solução possível é executar o INSERT e, em seguida, fazer outra consulta. O PostgreSQL oferece uma alternativa mais direta: a cláusula RETURNING. O problema Considere uma tabela que armazena tarefas de processamento: CREATE TABLE jobs ( id bigint GENERATED ALWAYS AS IDENTITY PRIMARY KEY, file_path text NOT NULL, status text NOT NULL DEFAULT 'pending', created_at timestamptz NOT NULL DEFAULT now() ); Depois de criar um job, a aplicação precisa conhecer o id, o estado inicial e a data atribuída pelo banco. ...

PostgreSQL Reliability Lab - Lab 02: Inicialização de banco de dados

No Lab 01, construímos a fundação: uma instância PostgreSQL reproduzível, persistente e validada com Docker. Mas subir um banco saudável é apenas o primeiro passo. Para testar backup, replicação, observabilidade ou performance, precisamos de uma base que se aproxime de um cenário real: usuários com responsabilidades diferentes, schemas bem definidos, extensões operacionais, relacionamentos, índices e dados suficientes para exercitar o ambiente. Esse é o objetivo do Lab 02 do PostgreSQL Reliability Lab. ...

Construindo um laboratório Protheus com Docker

Durante muitos anos, desenvolver para o ERP Protheus significava preparar manualmente todo o ambiente de desenvolvimento. Instalar banco de dados, configurar DBAccess, ajustar License Server, preparar AppServer, copiar arquivos de configuração e validar dependências costumava fazer parte do processo. Cada máquina acabava se tornando um ambiente único, com pequenas diferenças difíceis de rastrear. Embora esse modelo ainda seja comum em muitos projetos, ele fica distante de práticas que hoje considero essenciais em Engenharia de Software: ambientes descritos como código, configuração versionada, automação operacional e capacidade de recriar o laboratório de forma previsível. ...

Protheus Docker Lab

Projeto autoral para estudar Protheus em Docker com configuração versionada, automação operacional e práticas iniciais de DevOps.

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. ...

PostgreSQL Reliability Lab

Projeto autoral focado em DBRE com PostgreSQL: reprodução de ambiente, validações e roadmap de confiabilidade.

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. ...

Privacidade

Gerenciar opções

Escolha quais tecnologias opcionais podem ser utilizadas. As necessárias permanecem ativas para o funcionamento e para as preferências de interface do site.

Necessários

Preferências de tema, menu e registro da sua escolha de privacidade.

Analytics

Ajuda a compreender acessos e uso do conteúdo por meio do Google Analytics 4.

Publicidade

Reserva sua escolha para o Google AdSense, que ainda não exibe anúncios no site.