SlideShare uma empresa Scribd logo
1 de 22
Baixar para ler offline
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

Mais procurados

PostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoPostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoFabio Telles Rodriguez
 
Big data e PostgreSQL
Big data e PostgreSQLBig data e PostgreSQL
Big data e PostgreSQLEuler Taveira
 
Replicação Lógica no PostgreSQL 10
Replicação Lógica no PostgreSQL 10Replicação Lógica no PostgreSQL 10
Replicação Lógica no PostgreSQL 10Euler Taveira
 
Comandos básicos linux
Comandos básicos linuxComandos básicos linux
Comandos básicos linuxLuciano Souto
 
Aplicando o poder de uma GPU no SQL Server
Aplicando o poder de uma GPU noSQL ServerAplicando o poder de uma GPU noSQL Server
Aplicando o poder de uma GPU no SQL Serverpichiliani
 
Aplicando processamento paralelo em instruções SQL
Aplicando processamento paralelo em instruções SQLAplicando processamento paralelo em instruções SQL
Aplicando processamento paralelo em instruções SQLpichiliani
 
Isolamento e mvcc
Isolamento e mvccIsolamento e mvcc
Isolamento e mvccLocaweb
 
Arquitetando com buzzwords
Arquitetando com buzzwordsArquitetando com buzzwords
Arquitetando com buzzwordsFabiano Modos
 
Entregando conteúdo em ambientes extremos na JVM
Entregando conteúdo em ambientes extremos na JVMEntregando conteúdo em ambientes extremos na JVM
Entregando conteúdo em ambientes extremos na JVMRodrigo Zaccara
 
UNIFAL - MySQL Logs - 5.0/5.6
UNIFAL - MySQL Logs - 5.0/5.6UNIFAL - MySQL Logs - 5.0/5.6
UNIFAL - MySQL Logs - 5.0/5.6Wagner Bianchi
 
Análise comparativa entre as versões 3 e 4 do protocolo NFS em arquiteturas NAS
Análise comparativa entre as versões 3 e 4 do protocolo NFS em arquiteturas NASAnálise comparativa entre as versões 3 e 4 do protocolo NFS em arquiteturas NAS
Análise comparativa entre as versões 3 e 4 do protocolo NFS em arquiteturas NASKleber Silva
 

Mais procurados (20)

PostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoPostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardo
 
Zope
ZopeZope
Zope
 
Big data e PostgreSQL
Big data e PostgreSQLBig data e PostgreSQL
Big data e PostgreSQL
 
Replicação Lógica no PostgreSQL 10
Replicação Lógica no PostgreSQL 10Replicação Lógica no PostgreSQL 10
Replicação Lógica no PostgreSQL 10
 
Comandos básicos linux
Comandos básicos linuxComandos básicos linux
Comandos básicos linux
 
Aplicando o poder de uma GPU no SQL Server
Aplicando o poder de uma GPU noSQL ServerAplicando o poder de uma GPU noSQL Server
Aplicando o poder de uma GPU no SQL Server
 
GET /conceitos HTTP/1.1
GET /conceitos HTTP/1.1GET /conceitos HTTP/1.1
GET /conceitos HTTP/1.1
 
Aplicando processamento paralelo em instruções SQL
Aplicando processamento paralelo em instruções SQLAplicando processamento paralelo em instruções SQL
Aplicando processamento paralelo em instruções SQL
 
KrahoDB
KrahoDBKrahoDB
KrahoDB
 
Aula de Node
Aula de NodeAula de Node
Aula de Node
 
Conceitoseaplicaes
ConceitoseaplicaesConceitoseaplicaes
Conceitoseaplicaes
 
Isolamento e mvcc
Isolamento e mvccIsolamento e mvcc
Isolamento e mvcc
 
Arquitetando com buzzwords
Arquitetando com buzzwordsArquitetando com buzzwords
Arquitetando com buzzwords
 
Replicação PostgreSQL com RepManager
Replicação PostgreSQL com RepManagerReplicação PostgreSQL com RepManager
Replicação PostgreSQL com RepManager
 
Entregando conteúdo em ambientes extremos na JVM
Entregando conteúdo em ambientes extremos na JVMEntregando conteúdo em ambientes extremos na JVM
Entregando conteúdo em ambientes extremos na JVM
 
Pgquarrel
PgquarrelPgquarrel
Pgquarrel
 
UNIFAL - MySQL Logs - 5.0/5.6
UNIFAL - MySQL Logs - 5.0/5.6UNIFAL - MySQL Logs - 5.0/5.6
UNIFAL - MySQL Logs - 5.0/5.6
 
assertTrue($tdd)
assertTrue($tdd)assertTrue($tdd)
assertTrue($tdd)
 
Puppet 3 em 2017
Puppet 3 em 2017Puppet 3 em 2017
Puppet 3 em 2017
 
Análise comparativa entre as versões 3 e 4 do protocolo NFS em arquiteturas NAS
Análise comparativa entre as versões 3 e 4 do protocolo NFS em arquiteturas NASAnálise comparativa entre as versões 3 e 4 do protocolo NFS em arquiteturas NAS
Análise comparativa entre as versões 3 e 4 do protocolo NFS em arquiteturas NAS
 

Semelhante a Novidades do PostgreSQL 10: Replicação lógica, particionamento declarativo e melhorias no desempenho

Arquitetando Soluções de Dados com PostgreSQL
Arquitetando Soluções de Dados com PostgreSQLArquitetando Soluções de Dados com PostgreSQL
Arquitetando Soluções de Dados com PostgreSQLRaul Oliveira
 
PostgreSQL - Visão Geral - Pedro Vieira
PostgreSQL - Visão Geral - Pedro VieiraPostgreSQL - Visão Geral - Pedro Vieira
PostgreSQL - Visão Geral - Pedro VieiraPedro Fernandes Vieira
 
Escalabilidade horizontal com PostgreSQL e Pgpool II
Escalabilidade horizontal com PostgreSQL e Pgpool IIEscalabilidade horizontal com PostgreSQL e Pgpool II
Escalabilidade horizontal com PostgreSQL e Pgpool IIMatheus Espanhol
 
Versionamento de modelo de dados com PostgreSQL
Versionamento de modelo de dados com PostgreSQLVersionamento de modelo de dados com PostgreSQL
Versionamento de modelo de dados com PostgreSQLLeonardo Cezar
 
Oracle para PostgreSQL: Conseguir migrar e não parar UTI
Oracle para PostgreSQL: Conseguir migrar e não parar UTIOracle para PostgreSQL: Conseguir migrar e não parar UTI
Oracle para PostgreSQL: Conseguir migrar e não parar UTIFernando Ike
 
Dextra Sistemas: Novidades do PostgreSQL 9.0
Dextra Sistemas: Novidades do PostgreSQL 9.0Dextra Sistemas: Novidades do PostgreSQL 9.0
Dextra Sistemas: Novidades do PostgreSQL 9.0Dextra
 
Oficina PostgreSQL Básico Latinoware 2012
Oficina PostgreSQL Básico Latinoware 2012Oficina PostgreSQL Básico Latinoware 2012
Oficina PostgreSQL Básico Latinoware 2012Fabrízio Mello
 
ZEO/RelStorage/PostgreSQL
ZEO/RelStorage/PostgreSQLZEO/RelStorage/PostgreSQL
ZEO/RelStorage/PostgreSQLgsroma
 
Palestra CouchDB III ENSOL
Palestra CouchDB III ENSOLPalestra CouchDB III ENSOL
Palestra CouchDB III ENSOLAllisson Azevedo
 
Bancos de dados open source
Bancos de dados open sourceBancos de dados open source
Bancos de dados open sourceRodrigo Aurélio
 
PostgreSQL: O melhor banco de dados Universo
PostgreSQL: O melhor banco de dados UniversoPostgreSQL: O melhor banco de dados Universo
PostgreSQL: O melhor banco de dados Universoelliando dias
 
Bancos de dados analíticos open source
Bancos de dados analíticos open sourceBancos de dados analíticos open source
Bancos de dados analíticos open sourceMatheus Espanhol
 
Redis um banco chave valor
Redis um banco chave valorRedis um banco chave valor
Redis um banco chave valorKinn Julião
 
Funcionalidades das versões 9.x do PostgreSQL
Funcionalidades das versões 9.x do PostgreSQLFuncionalidades das versões 9.x do PostgreSQL
Funcionalidades das versões 9.x do PostgreSQLMatheus Espanhol
 
Uma visão sobre Fast-Data: Spark, VoltDB e Elasticsearch
Uma visão sobre Fast-Data: Spark, VoltDB e ElasticsearchUma visão sobre Fast-Data: Spark, VoltDB e Elasticsearch
Uma visão sobre Fast-Data: Spark, VoltDB e ElasticsearchLuiz Henrique Zambom Santana
 
Design Patterns para Tuning Pentaho com Ctools
Design Patterns para Tuning Pentaho com CtoolsDesign Patterns para Tuning Pentaho com Ctools
Design Patterns para Tuning Pentaho com Ctoolse-Setorial
 
Minicurso PostgreSQL
Minicurso PostgreSQLMinicurso PostgreSQL
Minicurso PostgreSQLDiogo Biazus
 

Semelhante a Novidades do PostgreSQL 10: Replicação lógica, particionamento declarativo e melhorias no desempenho (20)

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

Mais de Fabio Telles Rodriguez

Data Hero: Sua carreira na área de dados
Data Hero: Sua carreira na área de dadosData Hero: Sua carreira na área de dados
Data Hero: Sua carreira na área de dadosFabio Telles Rodriguez
 
Aplicações 10x a 100x mais rápida com o postgre sql
Aplicações 10x a 100x mais rápida com o postgre sqlAplicações 10x a 100x mais rápida com o postgre sql
Aplicações 10x a 100x mais rápida com o postgre sqlFabio Telles Rodriguez
 
Migre seu banco de dados para a nuvem. Pergunte-me como!
Migre seu banco de dados para a nuvem. Pergunte-me como!Migre seu banco de dados para a nuvem. Pergunte-me como!
Migre seu banco de dados para a nuvem. Pergunte-me como!Fabio Telles Rodriguez
 
Postgres Wonderland - Campus Party 2013
Postgres Wonderland - Campus Party 2013Postgres Wonderland - Campus Party 2013
Postgres Wonderland - Campus Party 2013Fabio Telles Rodriguez
 
Postgres Wonderland - PGDay Cascavél 2013
Postgres Wonderland - PGDay Cascavél 2013Postgres Wonderland - PGDay Cascavél 2013
Postgres Wonderland - PGDay Cascavél 2013Fabio Telles Rodriguez
 

Mais de Fabio Telles Rodriguez (20)

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

Novidades do PostgreSQL 10: Replicação lógica, particionamento declarativo e melhorias no desempenho

  • 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