Table of Contents
Toggle
Table of Contents
ToggleO que é PostgreSQL?
O PostgreSQL é um poderoso sistema de banco de dados relacional de objeto de código aberto que usa e estende a linguagem SQL combinada com muitos recursos que armazenam e dimensionam com segurança as cargas de trabalho de dados mais complicadas. As origens do PostgreSQL remontam a 1986 como parte do projeto POSTGRES na Universidade da Califórnia em Berkeley e tem mais de 30 anos de desenvolvimento ativo na plataforma principal.
O PostgreSQL conquistou uma forte reputação por sua arquitetura comprovada, confiabilidade, integridade de dados, conjunto robusto de recursos, extensibilidade e dedicação da comunidade de código aberto por trás do software para fornecer soluções inovadoras e de desempenho consistentes. O PostgreSQL é executado em todos os principais sistemas operacionais , é compatível com ACID desde 2001 e possui complementos poderosos, como o popular extensor de banco de dados geoespacial PostGIS . Não é surpresa que o PostgreSQL tenha se tornado o banco de dados relacional de código aberto escolhido por muitas pessoas e organizações.
Começar a usar o PostgreSQL nunca foi tão fácil – escolha um projeto que você deseja construir e deixe o PostgreSQL armazenar seus dados de forma segura e robusta.
Por que usar o PostgreSQL?
O PostgreSQL vem com muitos recursos destinados a ajudar os desenvolvedores a criar aplicativos, os administradores a proteger a integridade dos dados e a criar ambientes tolerantes a falhas, além de ajudá-lo a gerenciar seus dados, independentemente do tamanho do conjunto de dados. Além de ser gratuito e de código aberto , o PostgreSQL é altamente extensível. Por exemplo, você pode definir seus próprios tipos de dados, criar funções personalizadas e até escrever código de diferentes linguagens de programação sem recompilar seu banco de dados!
O PostgreSQL tenta se adequar ao padrão SQL onde tal conformidade não contradiz os recursos tradicionais ou pode levar a decisões arquiteturais ruins. Muitos dos recursos exigidos pelo padrão SQL são suportados, embora às vezes com sintaxe ou função ligeiramente diferentes. Movimentos adicionais em direção à conformidade podem ser esperados ao longo do tempo. A partir do lançamento da versão 14 em setembro de 2021, o PostgreSQL está em conformidade com pelo menos 170 dos 179 recursos obrigatórios para conformidade com SQL:2016 Core. Até o momento, nenhum banco de dados relacional atende totalmente a esse padrão.
Abaixo está uma lista exaustiva de vários recursos encontrados no PostgreSQL, com mais sendo adicionados em cada versão principal :
- Tipos de dados
- Primitivos: Inteiro, Numérico, String, Booleano
- Estruturado: Data/Hora, Matriz, Intervalo/Multirange, UUID
- Documento: JSON/JSONB, XML, valor-chave (Hstore)
- Geometria: Ponto, Linha, Círculo, Polígono
- Personalizações: Composto, Tipos personalizados
- Integridade de dados
- ÚNICO, NÃO NULO
- Chaves Primárias
- Chaves estrangeiras
- Restrições de exclusão
- Bloqueios Explícitos, Bloqueios Consultivos
- Simultaneidade, Desempenho
- Indexação: B-tree, Multicoluna, Expressões, Parcial
- Indexação avançada: GiST, SP-Gist, KNN Gist, GIN, BRIN, índices de cobertura, filtros Bloom
- Planejador/otimizador de consultas sofisticado, varreduras somente de índice, estatísticas de várias colunas
- Transações, transações aninhadas (via pontos de salvamento)
- Controle de simultaneidade de várias versões (MVCC)
- Paralelização de consultas de leitura e construção de índices de árvore B
- Particionamento de tabela
- Todos os níveis de isolamento de transação definidos no padrão SQL, incluindo Serializable
- Compilação just-in-time (JIT) de expressões
- Confiabilidade, recuperação de desastres
- Registro de gravação antecipada (WAL)
- Replicação: Assíncrona, Síncrona, Lógica
- Recuperação pontual (PITR), esperas ativas
- Espaços de tabela
- Segurança
- Autenticação: GSSAPI, SSPI, LDAP, SCRAM-SHA-256, Certificado e mais
- Sistema robusto de controle de acesso
- Segurança em nível de coluna e linha
- Autenticação multifator com certificados e um método adicional
- Extensibilidade
- Funções e procedimentos armazenados
- Linguagens de procedimento: PL/PGSQL, Perl, Python (e muito mais)
- Expressões de caminho SQL/JSON
- Wrappers de dados estrangeiros: conecte-se a outros bancos de dados ou fluxos com uma interface SQL padrão
- Interface de armazenamento personalizável para tabelas
- Muitas extensões que fornecem funcionalidades adicionais, incluindo PostGIS
- Internacionalização, Pesquisa de Texto
- Suporte para conjuntos de caracteres internacionais, por exemplo, por meio de agrupamentos ICU
- Agrupamentos que não diferenciam maiúsculas de minúsculas e não diferenciam acentos
- Pesquisa de texto completo
Existem muitos outros recursos que você pode descobrir na documentação do PostgreSQL . Além disso, o PostgreSQL é altamente extensível: muitos recursos, como índices, têm APIs definidas para que você possa construir com o PostgreSQL para resolver seus desafios.
O PostgreSQL provou ser altamente escalável tanto na grande quantidade de dados que pode gerenciar quanto no número de usuários simultâneos que pode acomodar. Existem clusters PostgreSQL ativos em ambientes de produção que gerenciam muitos terabytes de dados e sistemas especializados que gerenciam petabytes.