O PostgreSQL (abreviado para "Postgres") é o banco de dados relacional de objetos de código aberto mais avançado do mundo. Ele foi criado para oferecer desempenho de nível empresarial e é valorizado por seus recursos robustos e confiabilidade.
O Postgres começou em 1986 como uma evolução do Ingres, um banco de dados anterior da Universidade da Califórnia, Berkeley. Desde 1994, ele usa a linguagem de consulta estruturada (SQL) para consultas e transações e é atualizado continuamente por uma comunidade de desenvolvedores individuais e corporativos.
Essa longa história de desenvolvimento e uso do SQL faz do PostgreSQL um dos bancos de dados de código aberto mais conhecidos do mundo, com todos os principais fornecedores de nuvem oferecendo o PostgreSQL ou bancos de dados derivados dele como serviço.
Inscreva-se em um teste gratuito para qualquer um dos bancos de dados PostgreSQL do Google Cloud, incluindo o AlloyDB, o Cloud SQL para PostgreSQL e o Spanner.
Um banco de dados relacional armazena dados em tabelas estruturadas de linhas e colunas e mantém informações sobre dados vinculados em várias tabelas.
Por exemplo, um banco de varejo pode ter uma tabela com linhas de informações do cliente, em que cada linha inclui o nome, o número de telefone e o endereço do cliente como colunas. Pode haver uma segunda tabela que armazena informações de transações. Um banco de dados relacional vincularia linhas entre as duas tabelas para que o banco pudesse acompanhar quais clientes fizeram quais transações.
Uma "consulta" é uma única operação para solicitar informações do banco de dados. Uma "transação" é uma sequência de operações que pode manipular dados no banco de dados. As operações básicas de armazenamento são comumente chamadas de "CRUD", que significa criar, ler, atualizar e excluir.
Para otimizar a recuperação de informações do banco de dados, o PostgreSQL usa índices, que são cópias de uma parte de uma tabela reorganizadas para acelerar a pesquisa. Conceitualmente, eles são semelhantes a um índice no final de um livro que permite encontrar um item rapidamente sem ter que examinar todo o livro.
Como um banco de dados relacional, o PostgreSQL usa descrições formais chamadas de "esquemas" para descrever a estrutura dos dados contidos. Um esquema é a coleção de tabelas, índices e funções no banco de dados, e o PostgreSQL oferece suporte a vários esquemas.
Os profissionais de banco de dados são responsáveis por projetar um esquema e um conjunto de índices que melhor representem os dados e a forma como eles são usados pelos usuários do aplicativo. Eles também são responsáveis pelas tarefas de manutenção e operação para manter os dados seguros e o banco de dados funcionando corretamente.
Desde o desenvolvimento na Universidade de Berkeley, o PostgreSQL tem código aberto, o que significa que o código é totalmente aberto para visualização, modificação e distribuição.
Os desenvolvedores podem usar bancos de dados de código aberto para os aplicativos sem custo de licenciamento e com total flexibilidade na implantação, já que esses bancos de dados são executados em uma ampla variedade de plataformas de nuvem e não nuvem. Uma comunidade de desenvolvedores contribui para a melhoria e manutenção do software, melhorando a segurança e a confiabilidade.
A popularidade do PostgreSQL aumentou nos últimos anos, tornando-o um dos bancos de dados mais usados no mundo. Ela oferece vários benefícios:
O PostgreSQL é usado para uma ampla variedade de aplicativos devido à flexibilidade, confiabilidade e conjunto de atributos robustos. Veja alguns usos comuns:
Confiável para aplicativos altamente seguros e conhecido por auditoriabilidade, compliance e proteção de dados.
O PostgreSQL pode processar consultas em bilhões de linhas e é comumente usado para aumentar data warehouses e outros sistemas analíticos com dados operacionais em tempo real. Na verdade, vários produtos de data warehouse conhecidos evoluíram do PostgreSQL.
Escalonável, robusto e capaz de lidar com altos níveis de tráfego, o PostgreSQL é confiável para dispositivos móveis, Web, mídias sociais e outros aplicativos de alto volume.
O PostgreSQL oferece suporte a dados geográficos, para que os aplicativos possam calcular a distância entre pontos e realizar cálculos geoespaciais para aplicativos de navegação, logística e agricultura.
O PostgreSQL oferece pesquisa vetorial de alto desempenho e é comumente usado para fornecer entradas a modelos de linguagem grandes (LLMs), muitas vezes estendendo esses modelos por geração aumentada de recuperação (RAG). Os desenvolvedores costumam escolher o PostgreSQL para criar
O PostgreSQL é usado comumente por organizações para migrar apps legados para uma plataforma moderna de código aberto.
As seções a seguir apresentam mais detalhes sobre o ecossistema do PostgreSQL. Confira comparações entre o AlloyDB e o Aurora, o SQL Server, o MySQL e o Oracle e, por fim, as diferenças entre bancos de dados do PostgreSQL totalmente gerenciados e autogerenciados.
Há vários produtos comerciais no mercado com diferentes níveis de compatibilidade com o PostgreSQL. Dois dos mais conhecidos são o AlloyDB do Google Cloud e o Aurora da AWS.
O AlloyDB é executado em qualquer plataforma e em qualquer nuvem, enquanto o Aurora é executado apenas na Amazon Web Services (AWS). Por outro lado, o AlloyDB se concentra no PostgreSQL, enquanto o Aurora oferece os mecanismos PostgreSQL e MySQL.
O AlloyDB se tornou uma escolha popular para empresas porque:
O PostgreSQL é um banco de dados de código aberto que é executado na maioria dos sistemas operacionais, enquanto o SQL Server é um produto comercial que é executado no Microsoft Windows e no Linux. Ambos estão disponíveis como serviços de nuvem gerenciados de vários fornecedores.
Os dois sistemas compartilham muitos recursos principais, mas há várias diferenças. Uma das principais vantagens do PostgreSQL é que ele usa o controle de simultaneidade de várias versões (MVCC) para processamento simultâneo, para que possa processar altas taxas de transações com quase nenhum impasse. O SQL Server é conhecido por ter alto desempenho e recursos de banco de dados na memória, que também são oferecidos pelo AlloyDB.
Para uma comparação completa, leia PostgreSQL x SQL Server.
O MySQL é um banco de dados relacional baseado em SQL, enquanto o PostgreSQL é um banco de dados relacional-objeto. Embora ambos sejam de código aberto, o PostgreSQL segue um licenciamento que permite distribuição comercial. O projeto de código aberto MySQL é patrocinado pela Oracle.
O PostgreSQL escalona adicionando processos, o que historicamente é uma boa abordagem para aplicativos confiáveis. O mecanismo de extensão do PostgreSQL faz dele uma plataforma mais conhecida para contribuições da comunidade.
O MySQL faz escalonamento adicionando threads, o que é bom para aplicativos de pequena escala e com poucos recursos.
A escolha geralmente se resume à preferência pessoal e ao conjunto de experiências dos desenvolvedores qualificados disponíveis.
Algumas diferenças técnicas entre o PostgreSQL e o MySQL:
PostgreSQL
MySQL
O PostgreSQL e o Oracle são bancos de dados relacionais conhecidos que oferecem suporte ao SQL e usam linguagens procedurais semelhantes (PL/SQL no caso do Oracle). Ambos são valorizados pela escalonabilidade e segurança.
O Oracle é usado por empresas de todos os tamanhos para impulsionar aplicativos essenciais e é conhecido pela disponibilidade e suporte a recursos avançados, como clustering.
O PostgreSQL oferece recursos e funcionalidades semelhantes aos do Oracle, incluindo recuperação de desastres, alto desempenho e replicação integrada. As empresas escolhem o PostgreSQL como uma alternativa mais aberta e econômica ao Oracle.
Assim como em todos os bancos de dados, a autogestão exige experiência técnica na sua equipe. Isso inclui conhecimento sobre como configurar e manter a arquitetura, escalonar jobs e habilidades gerais de gerenciamento de banco de dados, como fazer upgrades, backups, manutenção de segurança, recuperação de desastres e instalar patches. As equipes de desenvolvimento preferem cada vez mais um banco de dados totalmente gerenciado para se concentrarem nos aplicativos.
Bancos de dados totalmente gerenciados:
No entanto, se você precisar de controle total sobre o ambiente do banco de dados devido a necessidades específicas do aplicativo, um banco de dados autogerenciado oferece essa flexibilidade.
As extensões permitem expandir e adaptar a funcionalidade do seu banco de dados aos seus requisitos específicos. O PostgreSQL oferece suporte abrangente a extensões, que funcionam como funções integradas, incluindo aquelas desenvolvidas externamente.
Algumas extensões comuns são:
O PostgreSQL oferece suporte a tipos de dados básicos e avançados que não são comuns em outros bancos de dados, incluindo booleano, número, inteiro, carimbo de data/hora, matriz e muito mais. Os desenvolvedores também podem criar tipos de dados próprios.
A linguagem procedural padrão é uma extensão do pgSQL (PL/pgSQL), com extensões de linguagem procedural de Tcl, Perl e Python incluídas na distribuição padrão (escritas como PL/Tcl, PL/Perl e PL/Python). Essas linguagens de procedimentos carregáveis permitem que a linguagem de programação seja usada para criar funções e acionar procedimentos.
Muitas outras linguagens são compatíveis com extensões, incluindo Java, Ruby, C, C++, Delphi e JavaScript.
O PostgreSQL permite programar em várias linguagens sem recompilar o banco de dados, um benefício importante para desenvolvedores.
Sim, o PostgreSQL é compatível com o ACID desde 2001.
ACID (atomicidade, consistência, isolamento e durabilidade) é um conjunto de propriedades que descreve como os bancos de dados transacionais garantem a validade dos dados. A conformidade com o ACID garante a qualidade dos dados mesmo em caso de falha no hardware ou interrupção da rede e permite a leitura e a gravação ao mesmo tempo, sem perda ou corrupção de dados. Esses princípios são essenciais para aplicações em diversos setores, incluindo finanças e saúde.
Por exemplo, um aplicativo bancário está transferindo um saldo entre duas contas no banco de dados. Se houver uma falha ou interrupção no meio da transação, um banco de dados compatível com o ACID garante que o dinheiro não desapareça ou seja creditado mais de uma vez. Os saldos das contas sempre permanecem válidos.
Comece a criar no Google Cloud com US$ 300 em créditos e mais de 20 produtos do programa Sempre gratuito.