SlideShare a Scribd company logo
PostgreSQL
Level UP
Fábio Telles Rodriguez
Fábio Telles Rodriguez
• Consultor pela Timbira
• DBA Oracle e PostgreSQL + 15 anos
• Colaborador da Comunidade Brasileira de PostgreSQL
• Blog: savepoint.blog.br
• telles@timbira.com.br
• @telles
Infância
Infância
• Ingres (1977 - 1985)
• Berkeley
• Linguagem QUEL
• Postgres (1986 - 1994)
• Berkely
• Ilustra -> Informix -> DB2
• Postgres95 (1995)
• PostgreSQL 6.x (1996 - 1999)
• PGDG
• Linguagem SQL
• Estabilização do código
Juventude
Projetado para ser flexível
• Funções
• Operadores
• Funções de agregação
• Herança de tabelas
• Sobrecarga de operadores
• Tipos de dados definidos pelo usuário
• Infraestrutura para indexar operadores e tipos de dados novos
Postgres Kaioken
Licença permissiva
“Permission to use, copy, modify, and distribute this software and its
documentation for any purpose, without fee, and without a written
agreement is hereby granted, provided that the above copyright notice
and this paragraph and the following two paragraphs appear in all
copies.”
• https://opensource.org/licenses/postgresql
• Licença estilo BSD e MIT
• De acordo com a Open Source Iniciative
• Não possui o conceito de “Copyleft”, ou seja, você pode fazer
um fork e fechar o código!
Forks
Forks
https://wiki.postgresql.org/wiki/PostgreSQL_derived_databases
• AgensGraph (orientado a grafos)
• Aurora (AWS)
• BDR (replicação multimaster)
• CitusDB (BI)
• EnterpriseDB (compatibilidade com Oracle)
• HadoopDB (cluster shared nothing)
• PipelineDB (streaming)
• PostgresX2 (cluster)
• Pivotal (BI)
• Redshift (BI)
• ToroDB (document model)
Desenvolvimento aberto
• Código aberto
• Roadmap aberto
• Listas de discussão abertas
• Qualquer pessoa pode desenvolver novas funcionalidades
• 4 commit fasts / release
• Ciclos de ~1 ano entre cada release
• O PostgreSQL não tem dono!!!
Postgres super sayajin
Linguagens procedurais
https://wiki.postgresql.org/wiki/PL_Matrix
• Core:
• SQL, PL/pgSQL,
• PL/Perl, PL/Python, PL/TCL
• Confiáveis:
• PL/sh, PL/R, PL/Java, PL/Lua, PL/v8(javascript),
• Teste bem antes de colocar em produção:
• PL/PSM, PL/PHP, PL/LoL, PL/Ruby
Postgres super sayajin 3
Extensões
● Contrib: https://www.postgresql.org/docs/current/contrib.html
○ adminpack, amcheck, auth_delay, auto_explain, bloom, btree_gin,
btree_gist, citext, cube, dblink, dict_int, dict_xsyn, esarthdistance,
file_fdw, fuzzystrmath, hstore, intagg, intarray, isn, lo, ltree,
passwordcheck, pg_buffercache, pgcrypto, pg_freespacemap,
pg_prewarm, pgrowlocks, pg_stat_statements, pgstattuple, pg_trm,
pg_visibility, postgres_fdw, seg, sepgsql, spi, sslinfo, tablefunc, tcn,
test_decoding, tsm_system_rows, tsm_system_time, unaccent, uuid-
ossp, xml2;
● Software Catalogue: https://www.postgresql.org/download/products/6-
postgresql-extensions/
○ HypoPG, OpenFTS, pg_qualstats, pg_stat_kcache,
pg_track_settings, PipelineDB, PL/Proxy, PostGIS, PostPic, prefix,
Texcaller, TimeTravel
● Outros (tente no pgxn.org, github ou no Google)
Postgres God!
Foreign Data Wrapper
https://wiki.postgresql.org/wiki/Foreign_data_wrappers
● Postgres, Oracle, MySQL, SQLite, Informix, Sybase, etc
● ODBC, JDBC, Multicorn
● Cassandra, CouchDB, InfluxDB, MongoDB, Neo4J, Redis,
Riak, etc
● CSV, JSON, XML, compressed files,
● Git, imap, ICAL, RSS, www, etc,
● Mailchimp, facebook, Telegram, Twitter, S3, etc
● Elastic Search, Google BigQuery, Hadoop, HDFS, Hive
● cstore, PGStrom (GPU), faker_fdw, black_hole, etc
● Multicorn ( https://multicorn.org )
PostgreSQL 7.0 (mai/2000)
• CREATE AGGREGATE -- define a new aggregate function
• CREATE CONSTRAINT TRIGGER -- define a new constraint trigger
• CREATE LANGUAGE -- define a new procedural language
• CREATE OPERATOR -- define a new operator
• CREATE RULE -- define a new rewrite rule
• CREATE TYPE -- define a new data type
• CREATE VIEW -- define a new view
• LISTEN / NOTIFY / UNLISTEN
• SET / SET TRANSACTION / SET CONSTRAINTS
• LOAD
PostgreSQL 7.0 (mai/2000)
• Numeric Types
• Monetary Type
• Character Types
• Date/Time Types
• Boolean Type
• Geometric Types
• Network Address Data Types
• Bit String Types
PostgreSQL 7.1 (abr/2001)
• Binary Strings
PostgreSQL 7.2 (fev/2002)
• Object Identifier Types
• Pseudo-Types
• Arrays
PostgreSQL 7.3 (nov/2002)
• CREATE CAST -- define a user-defined cast
• CREATE CONVERSION -- define a user-defined encoding
conversion
• CREATE DOMAIN -- define a new domain
• CREATE OPERATOR CLASS -- define a new operator class for
indexes
• CREATE SCHEMA -- define a new schema
PostgreSQL 7.3 (nov/2002)
• Object Identifier Types
• Pseudo-Types
• Arrays
PostgreSQL 8.0 (jan/2005)
• CREATE TABLESPACE -- define a new tablespace
• SAVEPOINT / RELEASE SAVEPOINT / ROLLBACK TO
SAVEPOINT
• Composite Types
PostgreSQL 8.2 (dez/2006)
• XML Document Support
PostgreSQL 8.3 (fev/2008)
• Enumerated Types
• Text Search Types
• UUID Type
• XML Type
PostgreSQL 8.4 (jul/2009)
• CREATE FOREIGN DATA WRAPPER -- define a new foreign-data wrapper
• CREATE SERVER -- define a new foreign server
• CREATE USER MAPPING -- define a new mapping of a user to a foreign
server
• CREATE TEXT SEARCH CONFIGURATION -- define a new text search
configuration
• CREATE TEXT SEARCH DICTIONARY -- define a new text search dictionary
• CREATE TEXT SEARCH PARSER -- define a new text search parser
• CREATE TEXT SEARCH TEMPLATE -- define a new text search template
• CREATE OPERATOR FAMILY -- define a new operator family
PostgreSQL 9.1 (set/2011)
• CREATE COLLATION -- define a new collation
• CREATE EXTENSION -- install an extension
• CREATE FOREIGN TABLE -- define a new foreign table
• SECURITY LABEL -- define or change a security label applied to
an object
PostgreSQL 9.1 (set/2011)
• CREATE COLLATION -- define a new collation
• CREATE EXTENSION -- install an extension
• CREATE FOREIGN TABLE -- define a new foreign table
• SECURITY LABEL -- define or change a security label applied to
an object
PostgreSQL 9.2 (set/2012)
• JSON Type
• Range Types
PostgreSQL 9.3 (set/2013)
• CREATE EVENT TRIGGER -- define a new event trigger
• CREATE MATERIALIZED VIEW -- define a new materialized view
PostgreSQL 9.4 (dez/2014)
• pg_lsn Type
• jsonb
PostgreSQL 9.6 (set/2016)
• CREATE ACCESS METHOD -- define a new access method
PostgreSQL 10 (out/2017)
• CREATE PUBLICATION — define a new publication
• CREATE SUBSCRIPTION — define a new subscription
• CREATE STATISTICS — define extended statistics
PostgreSQL 11 (out/2018)
• CALL — invoke a procedure
• CREATE PROCEDURE — define a new procedure
• Domain types
Futuro
● Novos forks e novos merges;
● Novas extensões e FDWs
● Storage Engines plugáveis;
● Hooks
PGConf.Brasil 2019
● 1, 2 e 3 de agosto
● Hotel Century Flat
● Inscrições abertas
● Chamada de trabalhos
aberta até 28/02
● www.pgconf.com.br
• Development Information
• Feature Matrix
• Software Catalogue
• PGXN
• PG-Strom
• DB-Engines RDBMS Ranking
• DBMS Comparison
• Contribuições da Timbira no PostgreSQL
Links interessantes
contato@timbira.com.br
Ad

Recommended

Postgres vs Mongo / Олег Бартунов (Postgres Professional)
Postgres vs Mongo / Олег Бартунов (Postgres Professional)
Ontico
 
IBM DB2 LUW/UDB DBA Training by www.etraining.guru
IBM DB2 LUW/UDB DBA Training by www.etraining.guru
Ravikumar Nandigam
 
GSoC2014 - Uniritter Presentation May, 2015
GSoC2014 - Uniritter Presentation May, 2015
Fabrízio Mello
 
Apache Solr Workshop
Apache Solr Workshop
JSGB
 
User defined-functions-cassandra-summit-eu-2014
User defined-functions-cassandra-summit-eu-2014
Robert Stupp
 
Apache Solr - Enterprise search platform
Apache Solr - Enterprise search platform
Tommaso Teofili
 
Spek
Spek
哲偉 楊
 
ElasticSearch AJUG 2013
ElasticSearch AJUG 2013
Roy Russo
 
Scaling php applications with redis
Scaling php applications with redis
jimbojsb
 
XML Tools for Perl
XML Tools for Perl
Geir Aalberg
 
Big Data Technologies
Big Data Technologies
Anant Corporation
 
Specification unit test by Spek
Specification unit test by Spek
哲偉 楊
 
Apache Solr! Enterprise Search Solutions at your Fingertips!
Apache Solr! Enterprise Search Solutions at your Fingertips!
Murshed Ahmmad Khan
 
Dumitru Enache - Bacula
Dumitru Enache - Bacula
Asociatia ProLinux
 
Storage Engine Wars at Parse
Storage Engine Wars at Parse
MongoDB
 
Beyond Postgres: Interesting Projects, Tools and forks
Beyond Postgres: Interesting Projects, Tools and forks
Sameer Kumar
 
Learning postgresql
Learning postgresql
DAVID RAUDALES
 
Postgresql
Postgresql
NexThoughts Technologies
 
An evening with Postgresql
An evening with Postgresql
Joshua Drake
 
PostgreSQL - Case Study
PostgreSQL - Case Study
S.Shayan Daneshvar
 
Get to know PostgreSQL!
Get to know PostgreSQL!
Oddbjørn Steffensen
 
PostgreSQL Server Programming 2nd Edition Usama Dar
PostgreSQL Server Programming 2nd Edition Usama Dar
obdlioubysz
 
Bn 1016 demo postgre sql-online-training
Bn 1016 demo postgre sql-online-training
conline training
 
PostgreSQL
PostgreSQL
Reuven Lerner
 
PostgreSQL Prologue
PostgreSQL Prologue
Md. Golam Hossain
 
PostgreSQL Server Programming Second Edition Usama Dar Hannu Krosing Jim Mlod...
PostgreSQL Server Programming Second Edition Usama Dar Hannu Krosing Jim Mlod...
trddarvai
 
Migrating to postgresql
Migrating to postgresql
botsplash.com
 
PostgreSQL Server Programming 2nd Edition Usama Dar
PostgreSQL Server Programming 2nd Edition Usama Dar
bhaveeranirh
 
Postgresql Up And Running Regina Obe Leo Hsu
Postgresql Up And Running Regina Obe Leo Hsu
zahidtraaslw
 
Introduction to PostgreSQL
Introduction to PostgreSQL
Jim Mlodgenski
 

More Related Content

What's hot (7)

Scaling php applications with redis
Scaling php applications with redis
jimbojsb
 
XML Tools for Perl
XML Tools for Perl
Geir Aalberg
 
Big Data Technologies
Big Data Technologies
Anant Corporation
 
Specification unit test by Spek
Specification unit test by Spek
哲偉 楊
 
Apache Solr! Enterprise Search Solutions at your Fingertips!
Apache Solr! Enterprise Search Solutions at your Fingertips!
Murshed Ahmmad Khan
 
Dumitru Enache - Bacula
Dumitru Enache - Bacula
Asociatia ProLinux
 
Storage Engine Wars at Parse
Storage Engine Wars at Parse
MongoDB
 
Scaling php applications with redis
Scaling php applications with redis
jimbojsb
 
XML Tools for Perl
XML Tools for Perl
Geir Aalberg
 
Specification unit test by Spek
Specification unit test by Spek
哲偉 楊
 
Apache Solr! Enterprise Search Solutions at your Fingertips!
Apache Solr! Enterprise Search Solutions at your Fingertips!
Murshed Ahmmad Khan
 
Storage Engine Wars at Parse
Storage Engine Wars at Parse
MongoDB
 

Similar to Postgres level up (20)

Beyond Postgres: Interesting Projects, Tools and forks
Beyond Postgres: Interesting Projects, Tools and forks
Sameer Kumar
 
Learning postgresql
Learning postgresql
DAVID RAUDALES
 
Postgresql
Postgresql
NexThoughts Technologies
 
An evening with Postgresql
An evening with Postgresql
Joshua Drake
 
PostgreSQL - Case Study
PostgreSQL - Case Study
S.Shayan Daneshvar
 
Get to know PostgreSQL!
Get to know PostgreSQL!
Oddbjørn Steffensen
 
PostgreSQL Server Programming 2nd Edition Usama Dar
PostgreSQL Server Programming 2nd Edition Usama Dar
obdlioubysz
 
Bn 1016 demo postgre sql-online-training
Bn 1016 demo postgre sql-online-training
conline training
 
PostgreSQL
PostgreSQL
Reuven Lerner
 
PostgreSQL Prologue
PostgreSQL Prologue
Md. Golam Hossain
 
PostgreSQL Server Programming Second Edition Usama Dar Hannu Krosing Jim Mlod...
PostgreSQL Server Programming Second Edition Usama Dar Hannu Krosing Jim Mlod...
trddarvai
 
Migrating to postgresql
Migrating to postgresql
botsplash.com
 
PostgreSQL Server Programming 2nd Edition Usama Dar
PostgreSQL Server Programming 2nd Edition Usama Dar
bhaveeranirh
 
Postgresql Up And Running Regina Obe Leo Hsu
Postgresql Up And Running Regina Obe Leo Hsu
zahidtraaslw
 
Introduction to PostgreSQL
Introduction to PostgreSQL
Jim Mlodgenski
 
PostgreSQL Server Programming 2nd Edition Usama Dar
PostgreSQL Server Programming 2nd Edition Usama Dar
mavriclasme
 
Get PostgreSQL Server Programming - Second Edition Dar free all chapters
Get PostgreSQL Server Programming - Second Edition Dar free all chapters
raiyaalaiaya
 
Pg 95 new capabilities
Pg 95 new capabilities
Jamey Hanson
 
Get PostgreSQL Server Programming - Second Edition Dar free all chapters
Get PostgreSQL Server Programming - Second Edition Dar free all chapters
kapuilakna
 
Getting started with postgresql
Getting started with postgresql
botsplash.com
 
Beyond Postgres: Interesting Projects, Tools and forks
Beyond Postgres: Interesting Projects, Tools and forks
Sameer Kumar
 
An evening with Postgresql
An evening with Postgresql
Joshua Drake
 
PostgreSQL Server Programming 2nd Edition Usama Dar
PostgreSQL Server Programming 2nd Edition Usama Dar
obdlioubysz
 
Bn 1016 demo postgre sql-online-training
Bn 1016 demo postgre sql-online-training
conline training
 
PostgreSQL Server Programming Second Edition Usama Dar Hannu Krosing Jim Mlod...
PostgreSQL Server Programming Second Edition Usama Dar Hannu Krosing Jim Mlod...
trddarvai
 
Migrating to postgresql
Migrating to postgresql
botsplash.com
 
PostgreSQL Server Programming 2nd Edition Usama Dar
PostgreSQL Server Programming 2nd Edition Usama Dar
bhaveeranirh
 
Postgresql Up And Running Regina Obe Leo Hsu
Postgresql Up And Running Regina Obe Leo Hsu
zahidtraaslw
 
Introduction to PostgreSQL
Introduction to PostgreSQL
Jim Mlodgenski
 
PostgreSQL Server Programming 2nd Edition Usama Dar
PostgreSQL Server Programming 2nd Edition Usama Dar
mavriclasme
 
Get PostgreSQL Server Programming - Second Edition Dar free all chapters
Get PostgreSQL Server Programming - Second Edition Dar free all chapters
raiyaalaiaya
 
Pg 95 new capabilities
Pg 95 new capabilities
Jamey Hanson
 
Get PostgreSQL Server Programming - Second Edition Dar free all chapters
Get PostgreSQL Server Programming - Second Edition Dar free all chapters
kapuilakna
 
Getting started with postgresql
Getting started with postgresql
botsplash.com
 
Ad

More from Fabio Telles Rodriguez (20)

Data Hero: Sua carreira na área de dados
Data Hero: Sua carreira na área de dados
Fabio Telles Rodriguez
 
Explain this!
Explain this!
Fabio Telles Rodriguez
 
High concurrency with Postgres
High concurrency with Postgres
Fabio 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 sql
Fabio Telles Rodriguez
 
Novidades do PostgreSQL 10
Novidades do PostgreSQL 10
Fabio Telles Rodriguez
 
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
 
Trabalhando com Logs no PostgreSQL
Trabalhando com Logs no PostgreSQL
Fabio Telles Rodriguez
 
PostgreSQL Rock Star
PostgreSQL Rock Star
Fabio Telles Rodriguez
 
Oracle x PostgreSQL
Oracle x PostgreSQL
Fabio Telles Rodriguez
 
PostgreSQL Wonderland TDC-SP 2015
PostgreSQL Wonderland TDC-SP 2015
Fabio Telles Rodriguez
 
Trabalhando com Logs no PostgreSQL
Trabalhando com Logs no PostgreSQL
Fabio Telles Rodriguez
 
Postgres Big data
Postgres Big data
Fabio Telles Rodriguez
 
Postgres Chainsaw Massacre
Postgres Chainsaw Massacre
Fabio Telles Rodriguez
 
Postgres Tuning
Postgres Tuning
Fabio Telles Rodriguez
 
Postgres Wonderland - PGDay CE2013
Postgres Wonderland - PGDay CE2013
Fabio Telles Rodriguez
 
Postgres Wonderland - Campus Party 2013
Postgres Wonderland - Campus Party 2013
Fabio Telles Rodriguez
 
Alta Concorrência com Postgres
Alta Concorrência com Postgres
Fabio Telles Rodriguez
 
Alta Concorrência com Postgres
Alta Concorrência com Postgres
Fabio Telles Rodriguez
 
Postgres, a "Metamorfose Ambulante"
Postgres, a "Metamorfose Ambulante"
Fabio Telles Rodriguez
 
Postgres Wonderland - PGDay Cascavél 2013
Postgres Wonderland - PGDay Cascavél 2013
Fabio Telles Rodriguez
 
Data Hero: Sua carreira na área de dados
Data Hero: Sua carreira na área de dados
Fabio 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 sql
Fabio Telles Rodriguez
 
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 2013
Fabio Telles Rodriguez
 
Postgres Wonderland - PGDay Cascavél 2013
Postgres Wonderland - PGDay Cascavél 2013
Fabio Telles Rodriguez
 
Ad

Recently uploaded (20)

Complete WordPress Programming Guidance Book
Complete WordPress Programming Guidance Book
Shabista Imam
 
On-Device AI: Is It Time to Go All-In, or Do We Still Need the Cloud?
On-Device AI: Is It Time to Go All-In, or Do We Still Need the Cloud?
Hassan Abid
 
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
arabelatso
 
From Code to Commerce, a Backend Java Developer's Galactic Journey into Ecomm...
From Code to Commerce, a Backend Java Developer's Galactic Journey into Ecomm...
Jamie Coleman
 
Which Hiring Management Tools Offer the Best ROI?
Which Hiring Management Tools Offer the Best ROI?
HireME
 
Canva Pro Crack Free Download 2025-FREE LATEST
Canva Pro Crack Free Download 2025-FREE LATEST
grete1122g
 
Best AI-Powered Wearable Tech for Remote Health Monitoring in 2025
Best AI-Powered Wearable Tech for Remote Health Monitoring in 2025
SEOLIFT - SEO Company London
 
Test Case Design Techniques – Practical Examples & Best Practices in Software...
Test Case Design Techniques – Practical Examples & Best Practices in Software...
Muhammad Fahad Bashir
 
How Automation in Claims Handling Streamlined Operations
How Automation in Claims Handling Streamlined Operations
Insurance Tech Services
 
Best Software Development at Best Prices
Best Software Development at Best Prices
softechies7
 
HYBRIDIZATION OF ALKANES AND ALKENES ...
HYBRIDIZATION OF ALKANES AND ALKENES ...
karishmaduhijod1
 
Introduction to Agile Frameworks for Product Managers.pdf
Introduction to Agile Frameworks for Product Managers.pdf
Ali Vahed
 
Enable Your Cloud Journey With Microsoft Trusted Partner | IFI Tech
Enable Your Cloud Journey With Microsoft Trusted Partner | IFI Tech
IFI Techsolutions
 
IDM Crack with Internet Download Manager 6.42 [Latest 2025]
IDM Crack with Internet Download Manager 6.42 [Latest 2025]
HyperPc soft
 
Simplify Task, Team, and Project Management with Orangescrum Work
Simplify Task, Team, and Project Management with Orangescrum Work
Orangescrum
 
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
arabelatso
 
Simplify Insurance Regulations with Compliance Management Software
Simplify Insurance Regulations with Compliance Management Software
Insurance Tech Services
 
Best Practice for LLM Serving in the Cloud
Best Practice for LLM Serving in the Cloud
Alluxio, Inc.
 
AI for PV: Development and Governance for a Regulated Industry
AI for PV: Development and Governance for a Regulated Industry
Biologit
 
Advance Doctor Appointment Booking App With Online Payment
Advance Doctor Appointment Booking App With Online Payment
AxisTechnolabs
 
Complete WordPress Programming Guidance Book
Complete WordPress Programming Guidance Book
Shabista Imam
 
On-Device AI: Is It Time to Go All-In, or Do We Still Need the Cloud?
On-Device AI: Is It Time to Go All-In, or Do We Still Need the Cloud?
Hassan Abid
 
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
arabelatso
 
From Code to Commerce, a Backend Java Developer's Galactic Journey into Ecomm...
From Code to Commerce, a Backend Java Developer's Galactic Journey into Ecomm...
Jamie Coleman
 
Which Hiring Management Tools Offer the Best ROI?
Which Hiring Management Tools Offer the Best ROI?
HireME
 
Canva Pro Crack Free Download 2025-FREE LATEST
Canva Pro Crack Free Download 2025-FREE LATEST
grete1122g
 
Best AI-Powered Wearable Tech for Remote Health Monitoring in 2025
Best AI-Powered Wearable Tech for Remote Health Monitoring in 2025
SEOLIFT - SEO Company London
 
Test Case Design Techniques – Practical Examples & Best Practices in Software...
Test Case Design Techniques – Practical Examples & Best Practices in Software...
Muhammad Fahad Bashir
 
How Automation in Claims Handling Streamlined Operations
How Automation in Claims Handling Streamlined Operations
Insurance Tech Services
 
Best Software Development at Best Prices
Best Software Development at Best Prices
softechies7
 
HYBRIDIZATION OF ALKANES AND ALKENES ...
HYBRIDIZATION OF ALKANES AND ALKENES ...
karishmaduhijod1
 
Introduction to Agile Frameworks for Product Managers.pdf
Introduction to Agile Frameworks for Product Managers.pdf
Ali Vahed
 
Enable Your Cloud Journey With Microsoft Trusted Partner | IFI Tech
Enable Your Cloud Journey With Microsoft Trusted Partner | IFI Tech
IFI Techsolutions
 
IDM Crack with Internet Download Manager 6.42 [Latest 2025]
IDM Crack with Internet Download Manager 6.42 [Latest 2025]
HyperPc soft
 
Simplify Task, Team, and Project Management with Orangescrum Work
Simplify Task, Team, and Project Management with Orangescrum Work
Orangescrum
 
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
arabelatso
 
Simplify Insurance Regulations with Compliance Management Software
Simplify Insurance Regulations with Compliance Management Software
Insurance Tech Services
 
Best Practice for LLM Serving in the Cloud
Best Practice for LLM Serving in the Cloud
Alluxio, Inc.
 
AI for PV: Development and Governance for a Regulated Industry
AI for PV: Development and Governance for a Regulated Industry
Biologit
 
Advance Doctor Appointment Booking App With Online Payment
Advance Doctor Appointment Booking App With Online Payment
AxisTechnolabs
 

Postgres level up

  • 2. Fábio Telles Rodriguez • Consultor pela Timbira • DBA Oracle e PostgreSQL + 15 anos • Colaborador da Comunidade Brasileira de PostgreSQL • Blog: savepoint.blog.br • [email protected] • @telles
  • 4. Infância • Ingres (1977 - 1985) • Berkeley • Linguagem QUEL • Postgres (1986 - 1994) • Berkely • Ilustra -> Informix -> DB2 • Postgres95 (1995) • PostgreSQL 6.x (1996 - 1999) • PGDG • Linguagem SQL • Estabilização do código
  • 6. Projetado para ser flexível • Funções • Operadores • Funções de agregação • Herança de tabelas • Sobrecarga de operadores • Tipos de dados definidos pelo usuário • Infraestrutura para indexar operadores e tipos de dados novos
  • 8. Licença permissiva “Permission to use, copy, modify, and distribute this software and its documentation for any purpose, without fee, and without a written agreement is hereby granted, provided that the above copyright notice and this paragraph and the following two paragraphs appear in all copies.” • https://opensource.org/licenses/postgresql • Licença estilo BSD e MIT • De acordo com a Open Source Iniciative • Não possui o conceito de “Copyleft”, ou seja, você pode fazer um fork e fechar o código!
  • 10. Forks https://wiki.postgresql.org/wiki/PostgreSQL_derived_databases • AgensGraph (orientado a grafos) • Aurora (AWS) • BDR (replicação multimaster) • CitusDB (BI) • EnterpriseDB (compatibilidade com Oracle) • HadoopDB (cluster shared nothing) • PipelineDB (streaming) • PostgresX2 (cluster) • Pivotal (BI) • Redshift (BI) • ToroDB (document model)
  • 11. Desenvolvimento aberto • Código aberto • Roadmap aberto • Listas de discussão abertas • Qualquer pessoa pode desenvolver novas funcionalidades • 4 commit fasts / release • Ciclos de ~1 ano entre cada release • O PostgreSQL não tem dono!!!
  • 13. Linguagens procedurais https://wiki.postgresql.org/wiki/PL_Matrix • Core: • SQL, PL/pgSQL, • PL/Perl, PL/Python, PL/TCL • Confiáveis: • PL/sh, PL/R, PL/Java, PL/Lua, PL/v8(javascript), • Teste bem antes de colocar em produção: • PL/PSM, PL/PHP, PL/LoL, PL/Ruby
  • 15. Extensões ● Contrib: https://www.postgresql.org/docs/current/contrib.html ○ adminpack, amcheck, auth_delay, auto_explain, bloom, btree_gin, btree_gist, citext, cube, dblink, dict_int, dict_xsyn, esarthdistance, file_fdw, fuzzystrmath, hstore, intagg, intarray, isn, lo, ltree, passwordcheck, pg_buffercache, pgcrypto, pg_freespacemap, pg_prewarm, pgrowlocks, pg_stat_statements, pgstattuple, pg_trm, pg_visibility, postgres_fdw, seg, sepgsql, spi, sslinfo, tablefunc, tcn, test_decoding, tsm_system_rows, tsm_system_time, unaccent, uuid- ossp, xml2; ● Software Catalogue: https://www.postgresql.org/download/products/6- postgresql-extensions/ ○ HypoPG, OpenFTS, pg_qualstats, pg_stat_kcache, pg_track_settings, PipelineDB, PL/Proxy, PostGIS, PostPic, prefix, Texcaller, TimeTravel ● Outros (tente no pgxn.org, github ou no Google)
  • 17. Foreign Data Wrapper https://wiki.postgresql.org/wiki/Foreign_data_wrappers ● Postgres, Oracle, MySQL, SQLite, Informix, Sybase, etc ● ODBC, JDBC, Multicorn ● Cassandra, CouchDB, InfluxDB, MongoDB, Neo4J, Redis, Riak, etc ● CSV, JSON, XML, compressed files, ● Git, imap, ICAL, RSS, www, etc, ● Mailchimp, facebook, Telegram, Twitter, S3, etc ● Elastic Search, Google BigQuery, Hadoop, HDFS, Hive ● cstore, PGStrom (GPU), faker_fdw, black_hole, etc ● Multicorn ( https://multicorn.org )
  • 18. PostgreSQL 7.0 (mai/2000) • CREATE AGGREGATE -- define a new aggregate function • CREATE CONSTRAINT TRIGGER -- define a new constraint trigger • CREATE LANGUAGE -- define a new procedural language • CREATE OPERATOR -- define a new operator • CREATE RULE -- define a new rewrite rule • CREATE TYPE -- define a new data type • CREATE VIEW -- define a new view • LISTEN / NOTIFY / UNLISTEN • SET / SET TRANSACTION / SET CONSTRAINTS • LOAD
  • 19. PostgreSQL 7.0 (mai/2000) • Numeric Types • Monetary Type • Character Types • Date/Time Types • Boolean Type • Geometric Types • Network Address Data Types • Bit String Types
  • 21. PostgreSQL 7.2 (fev/2002) • Object Identifier Types • Pseudo-Types • Arrays
  • 22. PostgreSQL 7.3 (nov/2002) • CREATE CAST -- define a user-defined cast • CREATE CONVERSION -- define a user-defined encoding conversion • CREATE DOMAIN -- define a new domain • CREATE OPERATOR CLASS -- define a new operator class for indexes • CREATE SCHEMA -- define a new schema
  • 23. PostgreSQL 7.3 (nov/2002) • Object Identifier Types • Pseudo-Types • Arrays
  • 24. PostgreSQL 8.0 (jan/2005) • CREATE TABLESPACE -- define a new tablespace • SAVEPOINT / RELEASE SAVEPOINT / ROLLBACK TO SAVEPOINT • Composite Types
  • 25. PostgreSQL 8.2 (dez/2006) • XML Document Support
  • 26. PostgreSQL 8.3 (fev/2008) • Enumerated Types • Text Search Types • UUID Type • XML Type
  • 27. PostgreSQL 8.4 (jul/2009) • CREATE FOREIGN DATA WRAPPER -- define a new foreign-data wrapper • CREATE SERVER -- define a new foreign server • CREATE USER MAPPING -- define a new mapping of a user to a foreign server • CREATE TEXT SEARCH CONFIGURATION -- define a new text search configuration • CREATE TEXT SEARCH DICTIONARY -- define a new text search dictionary • CREATE TEXT SEARCH PARSER -- define a new text search parser • CREATE TEXT SEARCH TEMPLATE -- define a new text search template • CREATE OPERATOR FAMILY -- define a new operator family
  • 28. PostgreSQL 9.1 (set/2011) • CREATE COLLATION -- define a new collation • CREATE EXTENSION -- install an extension • CREATE FOREIGN TABLE -- define a new foreign table • SECURITY LABEL -- define or change a security label applied to an object
  • 29. PostgreSQL 9.1 (set/2011) • CREATE COLLATION -- define a new collation • CREATE EXTENSION -- install an extension • CREATE FOREIGN TABLE -- define a new foreign table • SECURITY LABEL -- define or change a security label applied to an object
  • 30. PostgreSQL 9.2 (set/2012) • JSON Type • Range Types
  • 31. PostgreSQL 9.3 (set/2013) • CREATE EVENT TRIGGER -- define a new event trigger • CREATE MATERIALIZED VIEW -- define a new materialized view
  • 32. PostgreSQL 9.4 (dez/2014) • pg_lsn Type • jsonb
  • 33. PostgreSQL 9.6 (set/2016) • CREATE ACCESS METHOD -- define a new access method
  • 34. PostgreSQL 10 (out/2017) • CREATE PUBLICATION — define a new publication • CREATE SUBSCRIPTION — define a new subscription • CREATE STATISTICS — define extended statistics
  • 35. PostgreSQL 11 (out/2018) • CALL — invoke a procedure • CREATE PROCEDURE — define a new procedure • Domain types
  • 36. Futuro ● Novos forks e novos merges; ● Novas extensões e FDWs ● Storage Engines plugáveis; ● Hooks
  • 37. PGConf.Brasil 2019 ● 1, 2 e 3 de agosto ● Hotel Century Flat ● Inscrições abertas ● Chamada de trabalhos aberta até 28/02 ● www.pgconf.com.br
  • 38. • Development Information • Feature Matrix • Software Catalogue • PGXN • PG-Strom • DB-Engines RDBMS Ranking • DBMS Comparison • Contribuições da Timbira no PostgreSQL Links interessantes