O PostgreSQL é um sistema de gerenciamento de banco de dados orientado a objetos e gratuito, publicado sob a licença do PostgreSQL, similar ao BSD ou MIT. Agora, acaba de ser liberada a versão 11.0 do PostgreSQL.
Como muitos outros projetos de código aberto, o desenvolvimento do PostgreSQL não é comandado por uma empresa ou pessoa. Portanto, é gerido por uma comunidade de desenvolvedores que trabalham desinteressadamente, de forma altruísta, livre ou com apoio de organizações comerciais.
Algumas das principais características:
Simultaneidade
Através de um sistema chamado MVCC (Multiversion Concurrent Access), o PostgreSQL permite que, enquanto um processo grava em uma tabela, outros acessem a mesma tabela sem a necessidade de bloqueios. Cada usuário obtém uma visão concreta.
O PostgreSQL nativamente fornece suporte para:
- Números de precisão arbitrária;
- Texto de comprimento ilimitado;
- Figuras geométricas (com uma variedade de funções associadas);
- Endereços IP (IPv4 e IPv6);
- Blocos de endereço de estilo CIDR;
- Endereços MAC.
Matrizes
Além disso, os usuários podem criar seus próprios tipos de dados, que podem ser completamente indexáveis ??graças à infraestrutura GiST do PostgreSQL. Alguns exemplos são os tipos de dados GIS criados pelo projeto PostGIS.
Sobre a nova versão do PostgreSQL 11.0
Há poucos dias foi lançada a nova versão do PostgreSQL, o PostgreSQL 11. São novos recursos e várias correções de bugs.
As principais novidades são que eles se concentraram no gerenciamento de banco de dados com um grande volume de dados.
Partição melhorada
O PostgreSQL já permite a partição há muito tempo. Trata-se de armazenar dados em várias tabelas separadas que estão em uma única tabela.
O usuário do banco de dados não vê essa separação. Isso torna possível armazenar informações em vários sistemas de arquivos com características diferentes, de acordo com os dados. Por exemplo, os dados recentes são armazenados no SSD e os dados mais antigos são armazenados no disco rígido.
Antes, era possível particionar em listas de dados ou intervalos. Agora é possível particionar a chave em um hash para distribuir os dados aleatoriamente.
Isso possibilita distribuir as operações de leitura e gravação em vários locais.
O PostgreSQL agora também pode alterar os dados da partição automaticamente se a chave de distribuição for alterada.
O desempenho de leitura das tabelas particionadas também foi aprimorado com uma nova estratégia de remoção de partição.
O recurso UPSERT agora está disponível para tabelas particionadas.
Disponibilidade de transações em procedimentos armazenados
Os procedimentos armazenados estão disponíveis no PostgreSQL há muito tempo, mas não era possível criar transações lá.
Melhor desempenho
Agora várias operações podem ser feitas em paralelo para aproveitar os muitos núcleos dos processadores atuais.
Portanto, as tabelas particionadas podem ser lidas em paralelo, mas também quando uma consulta SELECT inclui uma cláusula UNION .
Compilação on the fly
Um compilador de tempo está disponível . Você pode otimizar consultas complexas para melhorar sua velocidade de execução. O PostgreSQL usa o compilador LLVM para este propósito.
Para ativá-lo, você deve adicionar o arquivo de configuração jit = onal ou definir a variável de sessão SET jit = on.
Simplificação = velocidade
Não é mais necessário reescrever a tabela inteira quando a chamada ALTER TABLE … ADD COLUMN … DEFAULT… é feita com um valor padrão que não é NULL. Isso melhora muito a velocidade de execução desse comando, se a tabela for grande.
Experiência do usuário
As palavras-chave de saída de quity agora são reconhecidas pela interface da linha de comandos (psql) para concluir o processo, além de \ q.
Para obter esta nova versão, você pode visitar o seguinte link.
Resumo dos aprimoramentos no PostgreSQL 11:
- Melhorias na funcionalidade de particionamento, incluindo:
- Adicionar suporte para particionamento por uma chave hash;
- Adicionar suporte para
PRIMARY KEY
,FOREIGN KEY
índices e acionadores em tabelas particionadas; - Permitir a criação de um “ default ” partição para armazenar dados que não corresponde a qualquer uma das partições restantes;
UPDATE
instruções que alteram uma coluna de chave de partição agora fazem com que as linhas afetadas sejam movidas para as partições apropriadas;SELECT
Melhore o desempenho através de estratégias aprimoradas de eliminação de partições durante o planejamento e execução de consultas.
- Melhorias ao paralelismo, incluindo:
CREATE INDEX
agora pode usar o processamento paralelo ao construir um índice de árvore B;- Paralelização é agora possível em
CREATE TABLE ... AS
,CREATE MATERIALIZED VIEW
e determinadas consultas usandoUNION;
- Junções de hash paralelas e varreduras sequenciais paralelas agora têm melhor desempenho.
- Procedimentos armazenados SQL que suportam transações embutidas;
- Compilação just-in-time (JIT) opcional para algum código SQL, acelerando a avaliação de expressões;
- Funções da janela agora suportam todas as opções de enquadramento mostrados na SQL: 2011, incluindo padrão , opções de modo, e quadro de exclusão
RANGE
distance
PRECEDING/FOLLOWINGGROUPS;
- Os índices de cobertura podem agora ser criados usando a
INCLUDE
cláusulaCREATE INDEX;
- Muitas outras melhorias de desempenho úteis, incluindo a capacidade de evitar uma reescrita de tabela
ALTER TABLE ... ADD COLUMN
com um padrão de coluna não nulo.
Para todos os detalhes, acesse o botão abaixo:
[button href=”https://www.postgresql.org/docs/11/static/release-11.html” type=”btn-default” size=”btn-lg”]PostgreSQL[/button]