SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Downloaden Sie, um offline zu lesen
What’s New in Postgres 9.4 
BRUCE MOMJIAN 
December, 2014 
POSTGRESQL is an open-source, full-featured relational database. 
This presentation gives an overview of the Postgres 9.4 release. 
Creative Commons Attribution License http://momjian.us/presentations 
1 / 21
PostgreSQL the database… 
I Open Source Object Relational DBMS since 1996 
I Distributed under the PostgreSQL License 
I Similar technical heritage as Oracle, SQL Server & DB2 
I However, a strong adherence to standards (ANSI-SQL 2008) 
I Highly extensible and adaptable design 
I Languages, indexing, data types, etc. 
I E.g. PostGIS, JSONB, SQL/MED 
I Extensive use throughout the world for applications and 
organizations of all types 
I Bundled into Red Hat Enterprise Linux, Ubuntu, CentOS 
and Amazon Linux 
What’s New in Postgres 9.4 2 / 21
PostgreSQL the community… 
I Independent community led by a Core Team of six 
I Large, active and vibrant community 
I www.postgresql.org 
I Downloads, Mailing lists, Documentation 
I Sponsors sampler: 
I Google, Red Hat, VMWare, Skype, Salesforce, HP and 
EnterpriseDB 
I http://www.postgresql.org/community/ 
What’s New in Postgres 9.4 3 / 21
EnterpriseDB the company… 
I The worldwide leader of Postgres based products and 
services founded in 2004 
I Customers include 50 of the Fortune 500 and 98 of the 
Forbes Global 2000 
I Enterprise offerings: 
I PostgreSQL Support, Services and Training 
I Postgres Plus Advanced Server with Oracle Compatibility 
I Tools for Monitoring, Replication, HA, Backup & Recovery 
Community 
I Citizenship 
I Contributor of key features: Materialized Views, JSON, & 
more 
I Nine community members on staff 
What’s New in Postgres 9.4 4 / 21
EnterpriseDB the company… 
What’s New in Postgres 9.4 5 / 21
9.4 Feature Outline 
1. Allow materialized views to be refreshed without blocking reads 
2. Logical decoding allows database changes to be streamed out 
in a customizable format 
3. Allow background workers to be dynamically registered, started 
and terminated 
4. Add structured (non-text) data type (JSONB) for storing JSON 
data 
5. Add SQL-level ALTER SYSTEM command to edit the 
postgresql.conf configuration file 
6. GIN indexes are 5x smaller and faster for multi-key lookups 
7. Improve WAL performance 
8. User-configurable delay of streaming replication 
Released 2014 
What’s New in Postgres 9.4 6 / 21
1. Allow Non-Blocking Materialized View Refresh 
I Allows materialized view refresh without blocking reads 
I Enabled with CONCURRENTLY keyword 
I Requires a unique index 
REFRESH MATERIALIZED VIEW CONCURRENTLY matview_test_view; 
What’s New in Postgres 9.4 7 / 21
2.Logical Decoding 
Logical decoding allows database changes to be optionally 
streamed in a configurable format. The data is read from the 
WAL and transformed into the desired target format, which can 
be easily processed by external tools. In previous releases, only 
binary changes were recorded in the WAL. This will be used for 
multi-master replication, zero-downtime major upgrades, write 
auditing, cache invalidation, and finer-grained replication control. 
What’s New in Postgres 9.4 8 / 21
2.Logical Decoding Example 
In postgresql.conf: 
wal_level = logical 
max_replication_slots = 1 
From SQL: 
SELECT * FROM pg_create_logical_replication_slot(’regression_slot’, 
’test_decoding’); 
slot_name | xlog_position 
-----------------+--------------- 
regression_slot | 0/16E63E0 
What’s New in Postgres 9.4 9 / 21
2.Logical Decoding Example 
CREATE TABLE data(id serial primary key, data text); 
BEGIN; 
INSERT INTO data(data) VALUES(’1’); 
INSERT INTO data(data) VALUES(’2’); 
COMMIT; 
SELECT * FROM pg_logical_slot_get_changes(’regression_slot’, NULL, NULL); 
location | xid | data 
-----------+-----+--------------------------------------------------------- 
0/16E6410 | 688 | BEGIN 688 
0/16F7F70 | 688 | COMMIT 688 
0/16F8080 | 689 | BEGIN 689 
0/16F8080 | 689 | table public.data: INSERT: id[integer]:1 data[text]:’1’ 
0/16F8148 | 689 | table public.data: INSERT: id[integer]:2 data[text]:’2’ 
0/16F8218 | 689 | COMMIT 689 
What’s New in Postgres 9.4 10 / 21
3. Dynamic Control of Background Workers 
I Registered 
I Started 
I Terminated 
I Also shared memory dynamic control and message queue 
support 
This will be used to support parallel query. 
What’s New in Postgres 9.4 11 / 21
4. Binary JSON Support (JSONB) 
I Allows rapid access to JSON keys and values 
I Flexible indexing options, including indexing of all keys and 
values (the default), or all key/value combinations 
(jsonb_path_ops) 
CREATE TABLE json_demo(data JSONB); 
CREATE INDEX i_json_demo ON json_demo USING gin (data); 
What’s New in Postgres 9.4 12 / 21
5. SQL Control of postgresql.conf 
This allows postgresql.conf values to be modified via SQL. 
SHOW work_mem; 
work_mem 
---------- 
4MB 
ALTER SYSTEM SET work_mem = ’30MB’; 
SELECT pg_reload_conf(); 
-- postgresql.conf settings are pushed to running sessions 
SHOW work_mem; 
work_mem 
---------- 
30MB 
What’s New in Postgres 9.4 13 / 21
6. GIN Indexes Are Smaller and Faster 
I Typical index shrank from 58MB to 11MB using varbyte 
encoding of item pointers 
I Advantages of bitmap indexes, without the limitations 
I When doing AND index matches, rare items are looked up 
first, reducing lookups of more common values 
What’s New in Postgres 9.4 14 / 21
7. Improve WAL Performance 
I Allow parallel inserts into WAL 
I Only write modified fields into WAL, rather than entire rows 
What’s New in Postgres 9.4 15 / 21
8. User-Configurable Delay of Streaming Replication 
I Controlled by recovery_min_apply_delay 
I Useful for recovering from mistakes 
What’s New in Postgres 9.4 16 / 21
PostgreSQL Future 
What’s New in Postgres 9.4 17 / 21
PostgreSQL Evolution 
1996 
1986 
Crash SQL Standards Enterprise Flexibility 
2001 
1998 
2012 
13 Years 
Flexibility includes: 
I Application-specific data types, e.g. JSON, PostGIS, range 
types 
I Advanced index types, e.g. GIN, SP-GiST 
I Single and multi-node scalability 
What’s New in Postgres 9.4 18 / 21
Three Focuses 
Keith Alsheimer, EnterpriseDB 
What’s New in Postgres 9.4 19 / 21
Additional Resources… 
I Postgres Downloads: 
I www.enterprisedb.com/downloads 
I Product and Services information: 
I info@enterprisedb.com 
What’s New in Postgres 9.4 20 / 21
Conclusion 
http://momjian.us/presentations http://www.flickr.com/photos/timlawrenz/ 
What’s New in Postgres 9.4 21 / 21

Weitere ähnliche Inhalte

Was ist angesagt?

Inno db datafiles backup and retore
Inno db datafiles backup and retoreInno db datafiles backup and retore
Inno db datafiles backup and retore
Vasudeva Rao
 
Oracle Basics and Architecture
Oracle Basics and ArchitectureOracle Basics and Architecture
Oracle Basics and Architecture
Sidney Chen
 

Was ist angesagt? (20)

PostgreSQL Replication High Availability Methods
PostgreSQL Replication High Availability MethodsPostgreSQL Replication High Availability Methods
PostgreSQL Replication High Availability Methods
 
Sas bulk load
Sas bulk loadSas bulk load
Sas bulk load
 
Learning postgresql
Learning postgresqlLearning postgresql
Learning postgresql
 
Analyze corefile and backtraces with GDB for Mysql/MariaDB on Linux - Nilanda...
Analyze corefile and backtraces with GDB for Mysql/MariaDB on Linux - Nilanda...Analyze corefile and backtraces with GDB for Mysql/MariaDB on Linux - Nilanda...
Analyze corefile and backtraces with GDB for Mysql/MariaDB on Linux - Nilanda...
 
What’s New In PostgreSQL 9.3
What’s New In PostgreSQL 9.3What’s New In PostgreSQL 9.3
What’s New In PostgreSQL 9.3
 
What is new in PostgreSQL 14?
What is new in PostgreSQL 14?What is new in PostgreSQL 14?
What is new in PostgreSQL 14?
 
What is new in MariaDB 10.6?
What is new in MariaDB 10.6?What is new in MariaDB 10.6?
What is new in MariaDB 10.6?
 
Shipping Data from Postgres to Clickhouse, by Murat Kabilov, Adjust
Shipping Data from Postgres to Clickhouse, by Murat Kabilov, AdjustShipping Data from Postgres to Clickhouse, by Murat Kabilov, Adjust
Shipping Data from Postgres to Clickhouse, by Murat Kabilov, Adjust
 
Inno db datafiles backup and retore
Inno db datafiles backup and retoreInno db datafiles backup and retore
Inno db datafiles backup and retore
 
[db tech showcase Tokyo 2017] A11: SQLite - The most used yet least appreciat...
[db tech showcase Tokyo 2017] A11: SQLite - The most used yet least appreciat...[db tech showcase Tokyo 2017] A11: SQLite - The most used yet least appreciat...
[db tech showcase Tokyo 2017] A11: SQLite - The most used yet least appreciat...
 
Countdown to PostgreSQL v9.5 - Foriegn Tables can be part of Inheritance Tree
Countdown to PostgreSQL v9.5 - Foriegn Tables can be part of Inheritance Tree Countdown to PostgreSQL v9.5 - Foriegn Tables can be part of Inheritance Tree
Countdown to PostgreSQL v9.5 - Foriegn Tables can be part of Inheritance Tree
 
Oracle Basics and Architecture
Oracle Basics and ArchitectureOracle Basics and Architecture
Oracle Basics and Architecture
 
Exam 1z0 062 Oracle Database 12c: Installation and Administration
Exam 1z0 062 Oracle Database 12c: Installation and AdministrationExam 1z0 062 Oracle Database 12c: Installation and Administration
Exam 1z0 062 Oracle Database 12c: Installation and Administration
 
Mvcc in postgreSQL 권건우
Mvcc in postgreSQL 권건우Mvcc in postgreSQL 권건우
Mvcc in postgreSQL 권건우
 
Evolution of MongoDB Replicaset and Its Best Practices
Evolution of MongoDB Replicaset and Its Best PracticesEvolution of MongoDB Replicaset and Its Best Practices
Evolution of MongoDB Replicaset and Its Best Practices
 
MongoDB 3.0 and WiredTiger (Event: An Evening with MongoDB Dallas 3/10/15)
MongoDB 3.0 and WiredTiger (Event: An Evening with MongoDB Dallas 3/10/15)MongoDB 3.0 and WiredTiger (Event: An Evening with MongoDB Dallas 3/10/15)
MongoDB 3.0 and WiredTiger (Event: An Evening with MongoDB Dallas 3/10/15)
 
MySQL Live Migration - Common Scenarios
MySQL Live Migration - Common ScenariosMySQL Live Migration - Common Scenarios
MySQL Live Migration - Common Scenarios
 
PostgreSQL WAL for DBAs
PostgreSQL WAL for DBAs PostgreSQL WAL for DBAs
PostgreSQL WAL for DBAs
 
Get More Out of MongoDB with TokuMX
Get More Out of MongoDB with TokuMXGet More Out of MongoDB with TokuMX
Get More Out of MongoDB with TokuMX
 
Spark performance tuning eng
Spark performance tuning engSpark performance tuning eng
Spark performance tuning eng
 

Andere mochten auch

Distil Networks 2017 Bad Bot Report: 6 High Risk Lessons for Website Defenders
Distil Networks 2017 Bad Bot Report: 6 High Risk Lessons for Website DefendersDistil Networks 2017 Bad Bot Report: 6 High Risk Lessons for Website Defenders
Distil Networks 2017 Bad Bot Report: 6 High Risk Lessons for Website Defenders
Distil Networks
 

Andere mochten auch (7)

10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
 
Doing More With Less: The Economics of Open Source Database Adoption
Doing More With Less: The Economics of Open Source Database AdoptionDoing More With Less: The Economics of Open Source Database Adoption
Doing More With Less: The Economics of Open Source Database Adoption
 
Distil Networks 2017 Bad Bot Report: 6 High Risk Lessons for Website Defenders
Distil Networks 2017 Bad Bot Report: 6 High Risk Lessons for Website DefendersDistil Networks 2017 Bad Bot Report: 6 High Risk Lessons for Website Defenders
Distil Networks 2017 Bad Bot Report: 6 High Risk Lessons for Website Defenders
 
Final exam qnt 351
Final exam qnt 351Final exam qnt 351
Final exam qnt 351
 
Manager's Guide To Oracle Cost Containment
Manager's Guide To Oracle Cost ContainmentManager's Guide To Oracle Cost Containment
Manager's Guide To Oracle Cost Containment
 
Postgres Relevance: Guidepost to the Future
Postgres Relevance: Guidepost to the Future Postgres Relevance: Guidepost to the Future
Postgres Relevance: Guidepost to the Future
 
Kubernetes Meetup: CNI, Flex Volume, and Scheduler
Kubernetes Meetup: CNI, Flex Volume, and SchedulerKubernetes Meetup: CNI, Flex Volume, and Scheduler
Kubernetes Meetup: CNI, Flex Volume, and Scheduler
 

Ähnlich wie What's New in Postgres 9.4

MySQL 5.6 - Operations and Diagnostics Improvements
MySQL 5.6 - Operations and Diagnostics ImprovementsMySQL 5.6 - Operations and Diagnostics Improvements
MySQL 5.6 - Operations and Diagnostics Improvements
Morgan Tocker
 
COUG_AAbate_Oracle_Database_12c_New_Features
COUG_AAbate_Oracle_Database_12c_New_FeaturesCOUG_AAbate_Oracle_Database_12c_New_Features
COUG_AAbate_Oracle_Database_12c_New_Features
Alfredo Abate
 
PostgreSQL versus MySQL - What Are The Real Differences
PostgreSQL versus MySQL - What Are The Real DifferencesPostgreSQL versus MySQL - What Are The Real Differences
PostgreSQL versus MySQL - What Are The Real Differences
All Things Open
 
New features of oracle
New features of oracleNew features of oracle
New features of oracle
Ravva Vamsi
 
1 extreme performance - part i
1   extreme performance - part i1   extreme performance - part i
1 extreme performance - part i
sqlserver.co.il
 

Ähnlich wie What's New in Postgres 9.4 (20)

Postgre sql best_practices
Postgre sql best_practicesPostgre sql best_practices
Postgre sql best_practices
 
Postgre sql best_practices
Postgre sql best_practicesPostgre sql best_practices
Postgre sql best_practices
 
TechEvent PostgreSQL Best Practices
TechEvent PostgreSQL Best PracticesTechEvent PostgreSQL Best Practices
TechEvent PostgreSQL Best Practices
 
Overview of Postgres 9.5
Overview of Postgres 9.5 Overview of Postgres 9.5
Overview of Postgres 9.5
 
What's New in PostgreSQL 9.3
What's New in PostgreSQL 9.3What's New in PostgreSQL 9.3
What's New in PostgreSQL 9.3
 
MySQL 5.6 - Operations and Diagnostics Improvements
MySQL 5.6 - Operations and Diagnostics ImprovementsMySQL 5.6 - Operations and Diagnostics Improvements
MySQL 5.6 - Operations and Diagnostics Improvements
 
Postgres NoSQL - Delivering Apps Faster
Postgres NoSQL - Delivering Apps FasterPostgres NoSQL - Delivering Apps Faster
Postgres NoSQL - Delivering Apps Faster
 
COUG_AAbate_Oracle_Database_12c_New_Features
COUG_AAbate_Oracle_Database_12c_New_FeaturesCOUG_AAbate_Oracle_Database_12c_New_Features
COUG_AAbate_Oracle_Database_12c_New_Features
 
Postgresql quick guide
Postgresql quick guidePostgresql quick guide
Postgresql quick guide
 
PostgreSQL 9.4, 9.5 and Beyond @ COSCUP 2015 Taipei
PostgreSQL 9.4, 9.5 and Beyond @ COSCUP 2015 TaipeiPostgreSQL 9.4, 9.5 and Beyond @ COSCUP 2015 Taipei
PostgreSQL 9.4, 9.5 and Beyond @ COSCUP 2015 Taipei
 
Pg 95 new capabilities
Pg 95 new capabilitiesPg 95 new capabilities
Pg 95 new capabilities
 
PostgreSQL versus MySQL - What Are The Real Differences
PostgreSQL versus MySQL - What Are The Real DifferencesPostgreSQL versus MySQL - What Are The Real Differences
PostgreSQL versus MySQL - What Are The Real Differences
 
Postgres Vienna DB Meetup 2014
Postgres Vienna DB Meetup 2014Postgres Vienna DB Meetup 2014
Postgres Vienna DB Meetup 2014
 
New features of oracle
New features of oracleNew features of oracle
New features of oracle
 
Getting started with postgresql
Getting started with postgresqlGetting started with postgresql
Getting started with postgresql
 
MongoDB performance tuning and load testing, NOSQL Now! 2013 Conference prese...
MongoDB performance tuning and load testing, NOSQL Now! 2013 Conference prese...MongoDB performance tuning and load testing, NOSQL Now! 2013 Conference prese...
MongoDB performance tuning and load testing, NOSQL Now! 2013 Conference prese...
 
Drools & jBPM future roadmap talk
Drools & jBPM future roadmap talkDrools & jBPM future roadmap talk
Drools & jBPM future roadmap talk
 
Get to know PostgreSQL!
Get to know PostgreSQL!Get to know PostgreSQL!
Get to know PostgreSQL!
 
1 extreme performance - part i
1   extreme performance - part i1   extreme performance - part i
1 extreme performance - part i
 
Oracle
OracleOracle
Oracle
 

Mehr von EDB

EFM Office Hours - APJ - July 29, 2021
EFM Office Hours - APJ - July 29, 2021EFM Office Hours - APJ - July 29, 2021
EFM Office Hours - APJ - July 29, 2021
EDB
 
Is There Anything PgBouncer Can’t Do?
Is There Anything PgBouncer Can’t Do?Is There Anything PgBouncer Can’t Do?
Is There Anything PgBouncer Can’t Do?
EDB
 
A Deeper Dive into EXPLAIN
A Deeper Dive into EXPLAINA Deeper Dive into EXPLAIN
A Deeper Dive into EXPLAIN
EDB
 

Mehr von EDB (20)

Cloud Migration Paths: Kubernetes, IaaS, or DBaaS
Cloud Migration Paths: Kubernetes, IaaS, or DBaaSCloud Migration Paths: Kubernetes, IaaS, or DBaaS
Cloud Migration Paths: Kubernetes, IaaS, or DBaaS
 
Die 10 besten PostgreSQL-Replikationsstrategien für Ihr Unternehmen
Die 10 besten PostgreSQL-Replikationsstrategien für Ihr UnternehmenDie 10 besten PostgreSQL-Replikationsstrategien für Ihr Unternehmen
Die 10 besten PostgreSQL-Replikationsstrategien für Ihr Unternehmen
 
Migre sus bases de datos Oracle a la nube
Migre sus bases de datos Oracle a la nube Migre sus bases de datos Oracle a la nube
Migre sus bases de datos Oracle a la nube
 
EFM Office Hours - APJ - July 29, 2021
EFM Office Hours - APJ - July 29, 2021EFM Office Hours - APJ - July 29, 2021
EFM Office Hours - APJ - July 29, 2021
 
Benchmarking Cloud Native PostgreSQL
Benchmarking Cloud Native PostgreSQLBenchmarking Cloud Native PostgreSQL
Benchmarking Cloud Native PostgreSQL
 
Las Variaciones de la Replicación de PostgreSQL
Las Variaciones de la Replicación de PostgreSQLLas Variaciones de la Replicación de PostgreSQL
Las Variaciones de la Replicación de PostgreSQL
 
NoSQL and Spatial Database Capabilities using PostgreSQL
NoSQL and Spatial Database Capabilities using PostgreSQLNoSQL and Spatial Database Capabilities using PostgreSQL
NoSQL and Spatial Database Capabilities using PostgreSQL
 
Is There Anything PgBouncer Can’t Do?
Is There Anything PgBouncer Can’t Do?Is There Anything PgBouncer Can’t Do?
Is There Anything PgBouncer Can’t Do?
 
Data Analysis with TensorFlow in PostgreSQL
Data Analysis with TensorFlow in PostgreSQLData Analysis with TensorFlow in PostgreSQL
Data Analysis with TensorFlow in PostgreSQL
 
Practical Partitioning in Production with Postgres
Practical Partitioning in Production with PostgresPractical Partitioning in Production with Postgres
Practical Partitioning in Production with Postgres
 
A Deeper Dive into EXPLAIN
A Deeper Dive into EXPLAINA Deeper Dive into EXPLAIN
A Deeper Dive into EXPLAIN
 
IOT with PostgreSQL
IOT with PostgreSQLIOT with PostgreSQL
IOT with PostgreSQL
 
A Journey from Oracle to PostgreSQL
A Journey from Oracle to PostgreSQLA Journey from Oracle to PostgreSQL
A Journey from Oracle to PostgreSQL
 
Psql is awesome!
Psql is awesome!Psql is awesome!
Psql is awesome!
 
EDB 13 - New Enhancements for Security and Usability - APJ
EDB 13 - New Enhancements for Security and Usability - APJEDB 13 - New Enhancements for Security and Usability - APJ
EDB 13 - New Enhancements for Security and Usability - APJ
 
Comment sauvegarder correctement vos données
Comment sauvegarder correctement vos donnéesComment sauvegarder correctement vos données
Comment sauvegarder correctement vos données
 
Cloud Native PostgreSQL - Italiano
Cloud Native PostgreSQL - ItalianoCloud Native PostgreSQL - Italiano
Cloud Native PostgreSQL - Italiano
 
New enhancements for security and usability in EDB 13
New enhancements for security and usability in EDB 13New enhancements for security and usability in EDB 13
New enhancements for security and usability in EDB 13
 
Best Practices in Security with PostgreSQL
Best Practices in Security with PostgreSQLBest Practices in Security with PostgreSQL
Best Practices in Security with PostgreSQL
 
Cloud Native PostgreSQL - APJ
Cloud Native PostgreSQL - APJCloud Native PostgreSQL - APJ
Cloud Native PostgreSQL - APJ
 

Kürzlich hochgeladen

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Kürzlich hochgeladen (20)

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 

What's New in Postgres 9.4

  • 1. What’s New in Postgres 9.4 BRUCE MOMJIAN December, 2014 POSTGRESQL is an open-source, full-featured relational database. This presentation gives an overview of the Postgres 9.4 release. Creative Commons Attribution License http://momjian.us/presentations 1 / 21
  • 2. PostgreSQL the database… I Open Source Object Relational DBMS since 1996 I Distributed under the PostgreSQL License I Similar technical heritage as Oracle, SQL Server & DB2 I However, a strong adherence to standards (ANSI-SQL 2008) I Highly extensible and adaptable design I Languages, indexing, data types, etc. I E.g. PostGIS, JSONB, SQL/MED I Extensive use throughout the world for applications and organizations of all types I Bundled into Red Hat Enterprise Linux, Ubuntu, CentOS and Amazon Linux What’s New in Postgres 9.4 2 / 21
  • 3. PostgreSQL the community… I Independent community led by a Core Team of six I Large, active and vibrant community I www.postgresql.org I Downloads, Mailing lists, Documentation I Sponsors sampler: I Google, Red Hat, VMWare, Skype, Salesforce, HP and EnterpriseDB I http://www.postgresql.org/community/ What’s New in Postgres 9.4 3 / 21
  • 4. EnterpriseDB the company… I The worldwide leader of Postgres based products and services founded in 2004 I Customers include 50 of the Fortune 500 and 98 of the Forbes Global 2000 I Enterprise offerings: I PostgreSQL Support, Services and Training I Postgres Plus Advanced Server with Oracle Compatibility I Tools for Monitoring, Replication, HA, Backup & Recovery Community I Citizenship I Contributor of key features: Materialized Views, JSON, & more I Nine community members on staff What’s New in Postgres 9.4 4 / 21
  • 5. EnterpriseDB the company… What’s New in Postgres 9.4 5 / 21
  • 6. 9.4 Feature Outline 1. Allow materialized views to be refreshed without blocking reads 2. Logical decoding allows database changes to be streamed out in a customizable format 3. Allow background workers to be dynamically registered, started and terminated 4. Add structured (non-text) data type (JSONB) for storing JSON data 5. Add SQL-level ALTER SYSTEM command to edit the postgresql.conf configuration file 6. GIN indexes are 5x smaller and faster for multi-key lookups 7. Improve WAL performance 8. User-configurable delay of streaming replication Released 2014 What’s New in Postgres 9.4 6 / 21
  • 7. 1. Allow Non-Blocking Materialized View Refresh I Allows materialized view refresh without blocking reads I Enabled with CONCURRENTLY keyword I Requires a unique index REFRESH MATERIALIZED VIEW CONCURRENTLY matview_test_view; What’s New in Postgres 9.4 7 / 21
  • 8. 2.Logical Decoding Logical decoding allows database changes to be optionally streamed in a configurable format. The data is read from the WAL and transformed into the desired target format, which can be easily processed by external tools. In previous releases, only binary changes were recorded in the WAL. This will be used for multi-master replication, zero-downtime major upgrades, write auditing, cache invalidation, and finer-grained replication control. What’s New in Postgres 9.4 8 / 21
  • 9. 2.Logical Decoding Example In postgresql.conf: wal_level = logical max_replication_slots = 1 From SQL: SELECT * FROM pg_create_logical_replication_slot(’regression_slot’, ’test_decoding’); slot_name | xlog_position -----------------+--------------- regression_slot | 0/16E63E0 What’s New in Postgres 9.4 9 / 21
  • 10. 2.Logical Decoding Example CREATE TABLE data(id serial primary key, data text); BEGIN; INSERT INTO data(data) VALUES(’1’); INSERT INTO data(data) VALUES(’2’); COMMIT; SELECT * FROM pg_logical_slot_get_changes(’regression_slot’, NULL, NULL); location | xid | data -----------+-----+--------------------------------------------------------- 0/16E6410 | 688 | BEGIN 688 0/16F7F70 | 688 | COMMIT 688 0/16F8080 | 689 | BEGIN 689 0/16F8080 | 689 | table public.data: INSERT: id[integer]:1 data[text]:’1’ 0/16F8148 | 689 | table public.data: INSERT: id[integer]:2 data[text]:’2’ 0/16F8218 | 689 | COMMIT 689 What’s New in Postgres 9.4 10 / 21
  • 11. 3. Dynamic Control of Background Workers I Registered I Started I Terminated I Also shared memory dynamic control and message queue support This will be used to support parallel query. What’s New in Postgres 9.4 11 / 21
  • 12. 4. Binary JSON Support (JSONB) I Allows rapid access to JSON keys and values I Flexible indexing options, including indexing of all keys and values (the default), or all key/value combinations (jsonb_path_ops) CREATE TABLE json_demo(data JSONB); CREATE INDEX i_json_demo ON json_demo USING gin (data); What’s New in Postgres 9.4 12 / 21
  • 13. 5. SQL Control of postgresql.conf This allows postgresql.conf values to be modified via SQL. SHOW work_mem; work_mem ---------- 4MB ALTER SYSTEM SET work_mem = ’30MB’; SELECT pg_reload_conf(); -- postgresql.conf settings are pushed to running sessions SHOW work_mem; work_mem ---------- 30MB What’s New in Postgres 9.4 13 / 21
  • 14. 6. GIN Indexes Are Smaller and Faster I Typical index shrank from 58MB to 11MB using varbyte encoding of item pointers I Advantages of bitmap indexes, without the limitations I When doing AND index matches, rare items are looked up first, reducing lookups of more common values What’s New in Postgres 9.4 14 / 21
  • 15. 7. Improve WAL Performance I Allow parallel inserts into WAL I Only write modified fields into WAL, rather than entire rows What’s New in Postgres 9.4 15 / 21
  • 16. 8. User-Configurable Delay of Streaming Replication I Controlled by recovery_min_apply_delay I Useful for recovering from mistakes What’s New in Postgres 9.4 16 / 21
  • 17. PostgreSQL Future What’s New in Postgres 9.4 17 / 21
  • 18. PostgreSQL Evolution 1996 1986 Crash SQL Standards Enterprise Flexibility 2001 1998 2012 13 Years Flexibility includes: I Application-specific data types, e.g. JSON, PostGIS, range types I Advanced index types, e.g. GIN, SP-GiST I Single and multi-node scalability What’s New in Postgres 9.4 18 / 21
  • 19. Three Focuses Keith Alsheimer, EnterpriseDB What’s New in Postgres 9.4 19 / 21
  • 20. Additional Resources… I Postgres Downloads: I www.enterprisedb.com/downloads I Product and Services information: I info@enterprisedb.com What’s New in Postgres 9.4 20 / 21