SlideShare uma empresa Scribd logo
Novidades do
PostgreSQL 10
Programa de Índio
Eventos
Mudanças e
compatibilidades
Novidades do PostgreSQL 10
•Fim do formato de numeração X.Y.Z
•10.0, 10.1, 10.2 e 10.x
•Fim do suporte da versão 9.2 ~Set/2017
•s/pg_xlog/pg_wal/
•s/pg_clog/pg_xact/
Mudanças
Autenticação
• Suporte a SCRAM a fim de descontinuar o md5;
• Depende de nova versão da libpq;
• Remoção do suporte a senhas não criptografadas
Replicação
Novidades do PostgreSQL 10
Logical Replication
● Replicação de uma ou mais tabelas;
● Replicação de várias instâncias para uma única instância;
● Replicação de uma única tabela para várias instâncias;
● Replicação entre diferentes versões do PostgreSQL;
● Criação de objetos locais nas tabelas replicadas, EX: índices;
● Na inicialização de um nó você pode optar por fazer a cópia
inicial de todos os dados ou não
Quorum Commit
Até a 9.6:
synchronous_standby_names = '2 (s1, s2, s3)'
Apartir da 10:
synchronous_standby_names = 'ANY|FIRST 2 (s1, s2,
s3)'
Temporary Replication Slots
• Agora operações de manutenção (como backup) podem
passar usar slots temporários.
• pg_basebackup faz automaticamente quando não
informado o slot
Particionamento
Declarativo
Novidades do PostgreSQL 10
Declarative Partitioning
● Aguardada por anos
● Re-utiliza infraestrutura de herança
● Você cria a tabela pai declarando os campos da partição
● Você cria as tabelas filhas informando o pai e declarando o
“range”
● Você pode “desanexar” tabelas filhas para alterar o range e
“re-anexá-las”
● Tabela particionada não pode conter constraints PK, UK, FK ou
EXCLUDE, mas as filhas sim
Declarative Partitioning
● Criando
○ BEGIN;
○ CREATE TABLE pai PARTITION BY RANGE(campos);
○ CREATE TABLE filha1 PARTITION OF pai FOR VALUES FROM … TO …
○ CREATE TABLE filha2 PARTITION OF pai FOR VALUES FROM … TO …
○ END;
● Modificando
○ BEGIN;
○ ALTER TABLE filha1 DETACH PARTITION pai;
○ ALTER TABLE filha1 ATTACH PARTITION pai FOR VALUES …
○ COMMIT;
Parallel Query
Novidades do PostgreSQL 10
Improved Parallel Query
• Na 9.6 havia apenas HashJoin e NestedLoop
• Parallel Merge Join
• Btree index scans
• Bitmap heap scans
• Merge joins
• Procedural languages
• UNION ALL
Outros
Novidades do PostgreSQL 10
Durable Hash Indexes
● Índices hash são utilizados para operações de igualdade
simples;
● Agora são “crash-safe” e replicam para slaves
● Em determinados cenários ultrapassam o desempenho dos
índices b-tree
FDW Push-down
● Em resumo agora um “SELECT count(*) FROM
tabela_estrangeira” processa o “count” no servidor remoto;
● Inclui operações de JOINs, SORT e Agregação;
pg_stat_activity
• Novos eventos de espera:
• Leituras e gravações no cliente;
• Leituras e gravações no server, fsyncs;
• Replicação síncrona;
• Exibe processos adicionais:
• Processos auxiliares;
• Worker processes;
• WAL senders.
E mais ...
• Gatilhos “After” para todo o
conjunto de registros
alterados pelo comando;
• Append e UNION ALL;
• Generalização dos nós
“workers” e novas melhorias
• XMLTABLE
• Melhoria desempenho
SUM()
Patches criados por brasileiros
• Redução de locks durante a
alteração de parâmetros de
tabelas
(Simon Riggs, Fabrízio
Mello)
• Revisão de patches (Euler
Taveira)
• Cria permissões padrão em
esquemas (Matheus
Oliveira)
Isto é feito utilizando o
comando ALTER DEFAULT
PRIVILEGES.
Links
• Release notes da versão 10:
https://www.postgresql.org/docs/10/static/release-10.html
• Bruce Momjian "Major Features: Postgres 10":
https://momjian.us/main/writings/pgsql/features.pdf
• WIKI Development information:
https://wiki.postgresql.org/wiki/Development_information
• Blog do Depez: https://www.depesz.com
• Blog do Michael Parquier: http://paquier.xyz
• PGConf.Brasil: http://www.pgconf.com.br
• PGBR 2017: https://pgbr.postgresql.org.br/2017
contato@timbira.com.br

Mais conteúdo relacionado

PPTX
Oracle Real Application Clusters 11gR2 - New Features
PDF
Drupal + Rex
ODP
Oficina postgresql basico_consegi2010
PDF
Zabbix 3 0-cinfotec
PDF
Desmistificando Replicação no PostgreSQL
PDF
pgBouncer: um aglomerador de conexões para PostgreSQL
PDF
Controle de Versão Distribuído com Git básico
ODP
PostgreSQL Tuning: O elefante mais rápido que um leopardo
Oracle Real Application Clusters 11gR2 - New Features
Drupal + Rex
Oficina postgresql basico_consegi2010
Zabbix 3 0-cinfotec
Desmistificando Replicação no PostgreSQL
pgBouncer: um aglomerador de conexões para PostgreSQL
Controle de Versão Distribuído com Git básico
PostgreSQL Tuning: O elefante mais rápido que um leopardo

Mais procurados (19)

PDF
Big data e PostgreSQL
PDF
Replicação Lógica no PostgreSQL 10
DOCX
Comandos básicos linux
PPTX
Aplicando o poder de uma GPU no SQL Server
PDF
GET /conceitos HTTP/1.1
PPTX
Aplicando processamento paralelo em instruções SQL
PDF
KrahoDB
PPTX
Aula de Node
PDF
Conceitoseaplicaes
PDF
Isolamento e mvcc
PPTX
Arquitetando com buzzwords
ODP
Replicação PostgreSQL com RepManager
PDF
Entregando conteúdo em ambientes extremos na JVM
PDF
Pgquarrel
PDF
UNIFAL - MySQL Logs - 5.0/5.6
PDF
assertTrue($tdd)
PDF
Puppet 3 em 2017
PDF
Análise comparativa entre as versões 3 e 4 do protocolo NFS em arquiteturas NAS
Big data e PostgreSQL
Replicação Lógica no PostgreSQL 10
Comandos básicos linux
Aplicando o poder de uma GPU no SQL Server
GET /conceitos HTTP/1.1
Aplicando processamento paralelo em instruções SQL
KrahoDB
Aula de Node
Conceitoseaplicaes
Isolamento e mvcc
Arquitetando com buzzwords
Replicação PostgreSQL com RepManager
Entregando conteúdo em ambientes extremos na JVM
Pgquarrel
UNIFAL - MySQL Logs - 5.0/5.6
assertTrue($tdd)
Puppet 3 em 2017
Análise comparativa entre as versões 3 e 4 do protocolo NFS em arquiteturas NAS
Anúncio

Semelhante a Novidades do PostgreSQL 10 (20)

PDF
Arquitetando Soluções de Dados com PostgreSQL
PDF
PostgreSQL - Visão Geral - Pedro Vieira
PDF
Escalabilidade horizontal com PostgreSQL e Pgpool II
PDF
Versionamento de modelo de dados com PostgreSQL
PDF
Oracle para PostgreSQL: Conseguir migrar e não parar UTI
PDF
Dextra Sistemas: Novidades do PostgreSQL 9.0
PDF
Oficina PostgreSQL Básico Latinoware 2012
PDF
ZEO/RelStorage/PostgreSQL
PDF
Palestra CouchDB III ENSOL
PDF
Secomp 2018 - DO Ruby ao Elixir
PDF
Bancos de dados open source
KEY
MongoDB na Campus Party
PDF
PostgreSQL: O melhor banco de dados Universo
PDF
Bancos de dados analíticos open source
ODP
PostgreSQL Conceitos e aplicações
PDF
Redis um banco chave valor
PDF
Funcionalidades das versões 9.x do PostgreSQL
PDF
Uma visão sobre Fast-Data: Spark, VoltDB e Elasticsearch
PDF
Design Patterns para Tuning Pentaho com Ctools
PDF
Minicurso PostgreSQL
Arquitetando Soluções de Dados com PostgreSQL
PostgreSQL - Visão Geral - Pedro Vieira
Escalabilidade horizontal com PostgreSQL e Pgpool II
Versionamento de modelo de dados com PostgreSQL
Oracle para PostgreSQL: Conseguir migrar e não parar UTI
Dextra Sistemas: Novidades do PostgreSQL 9.0
Oficina PostgreSQL Básico Latinoware 2012
ZEO/RelStorage/PostgreSQL
Palestra CouchDB III ENSOL
Secomp 2018 - DO Ruby ao Elixir
Bancos de dados open source
MongoDB na Campus Party
PostgreSQL: O melhor banco de dados Universo
Bancos de dados analíticos open source
PostgreSQL Conceitos e aplicações
Redis um banco chave valor
Funcionalidades das versões 9.x do PostgreSQL
Uma visão sobre Fast-Data: Spark, VoltDB e Elasticsearch
Design Patterns para Tuning Pentaho com Ctools
Minicurso PostgreSQL
Anúncio

Mais de Fabio Telles Rodriguez (20)

PDF
Data Hero: Sua carreira na área de dados
PPTX
Postgres level up
PDF
Explain this!
PDF
High concurrency with Postgres
PDF
Aplicações 10x a 100x mais rápida com o postgre sql
PDF
Migre seu banco de dados para a nuvem. Pergunte-me como!
PDF
Trabalhando com Logs no PostgreSQL
PDF
PostgreSQL Rock Star
PDF
Oracle x PostgreSQL
PDF
PostgreSQL Wonderland TDC-SP 2015
PDF
Trabalhando com Logs no PostgreSQL
PDF
Postgres Big data
PDF
Postgres Chainsaw Massacre
PDF
Postgres Tuning
PDF
Postgres Wonderland - PGDay CE2013
PDF
Postgres Wonderland - Campus Party 2013
PDF
Alta Concorrência com Postgres
PDF
Alta Concorrência com Postgres
PDF
Postgres, a "Metamorfose Ambulante"
ODP
Postgres Wonderland - PGDay Cascavél 2013
Data Hero: Sua carreira na área de dados
Postgres level up
Explain this!
High concurrency with Postgres
Aplicações 10x a 100x mais rápida com o postgre sql
Migre seu banco de dados para a nuvem. Pergunte-me como!
Trabalhando com Logs no PostgreSQL
PostgreSQL Rock Star
Oracle x PostgreSQL
PostgreSQL Wonderland TDC-SP 2015
Trabalhando com Logs no PostgreSQL
Postgres Big data
Postgres Chainsaw Massacre
Postgres Tuning
Postgres Wonderland - PGDay CE2013
Postgres Wonderland - Campus Party 2013
Alta Concorrência com Postgres
Alta Concorrência com Postgres
Postgres, a "Metamorfose Ambulante"
Postgres Wonderland - PGDay Cascavél 2013

Novidades do PostgreSQL 10

  • 4. •Fim do formato de numeração X.Y.Z •10.0, 10.1, 10.2 e 10.x •Fim do suporte da versão 9.2 ~Set/2017 •s/pg_xlog/pg_wal/ •s/pg_clog/pg_xact/ Mudanças
  • 5. Autenticação • Suporte a SCRAM a fim de descontinuar o md5; • Depende de nova versão da libpq; • Remoção do suporte a senhas não criptografadas
  • 7. Logical Replication ● Replicação de uma ou mais tabelas; ● Replicação de várias instâncias para uma única instância; ● Replicação de uma única tabela para várias instâncias; ● Replicação entre diferentes versões do PostgreSQL; ● Criação de objetos locais nas tabelas replicadas, EX: índices; ● Na inicialização de um nó você pode optar por fazer a cópia inicial de todos os dados ou não
  • 8. Quorum Commit Até a 9.6: synchronous_standby_names = '2 (s1, s2, s3)' Apartir da 10: synchronous_standby_names = 'ANY|FIRST 2 (s1, s2, s3)'
  • 9. Temporary Replication Slots • Agora operações de manutenção (como backup) podem passar usar slots temporários. • pg_basebackup faz automaticamente quando não informado o slot
  • 11. Declarative Partitioning ● Aguardada por anos ● Re-utiliza infraestrutura de herança ● Você cria a tabela pai declarando os campos da partição ● Você cria as tabelas filhas informando o pai e declarando o “range” ● Você pode “desanexar” tabelas filhas para alterar o range e “re-anexá-las” ● Tabela particionada não pode conter constraints PK, UK, FK ou EXCLUDE, mas as filhas sim
  • 12. Declarative Partitioning ● Criando ○ BEGIN; ○ CREATE TABLE pai PARTITION BY RANGE(campos); ○ CREATE TABLE filha1 PARTITION OF pai FOR VALUES FROM … TO … ○ CREATE TABLE filha2 PARTITION OF pai FOR VALUES FROM … TO … ○ END; ● Modificando ○ BEGIN; ○ ALTER TABLE filha1 DETACH PARTITION pai; ○ ALTER TABLE filha1 ATTACH PARTITION pai FOR VALUES … ○ COMMIT;
  • 14. Improved Parallel Query • Na 9.6 havia apenas HashJoin e NestedLoop • Parallel Merge Join • Btree index scans • Bitmap heap scans • Merge joins • Procedural languages • UNION ALL
  • 16. Durable Hash Indexes ● Índices hash são utilizados para operações de igualdade simples; ● Agora são “crash-safe” e replicam para slaves ● Em determinados cenários ultrapassam o desempenho dos índices b-tree
  • 17. FDW Push-down ● Em resumo agora um “SELECT count(*) FROM tabela_estrangeira” processa o “count” no servidor remoto; ● Inclui operações de JOINs, SORT e Agregação;
  • 18. pg_stat_activity • Novos eventos de espera: • Leituras e gravações no cliente; • Leituras e gravações no server, fsyncs; • Replicação síncrona; • Exibe processos adicionais: • Processos auxiliares; • Worker processes; • WAL senders.
  • 19. E mais ... • Gatilhos “After” para todo o conjunto de registros alterados pelo comando; • Append e UNION ALL; • Generalização dos nós “workers” e novas melhorias • XMLTABLE • Melhoria desempenho SUM()
  • 20. Patches criados por brasileiros • Redução de locks durante a alteração de parâmetros de tabelas (Simon Riggs, Fabrízio Mello) • Revisão de patches (Euler Taveira) • Cria permissões padrão em esquemas (Matheus Oliveira) Isto é feito utilizando o comando ALTER DEFAULT PRIVILEGES.
  • 21. Links • Release notes da versão 10: https://www.postgresql.org/docs/10/static/release-10.html • Bruce Momjian "Major Features: Postgres 10": https://momjian.us/main/writings/pgsql/features.pdf • WIKI Development information: https://wiki.postgresql.org/wiki/Development_information • Blog do Depez: https://www.depesz.com • Blog do Michael Parquier: http://paquier.xyz • PGConf.Brasil: http://www.pgconf.com.br • PGBR 2017: https://pgbr.postgresql.org.br/2017