SlideShare une entreprise Scribd logo
1  sur  19
Télécharger pour lire hors ligne
PostgreSQL 9.4 Sneak Peek
Pavan Deolasee
March 28, 2014
India PostgreSQL User Group Meetup
Hyderabad
Who am I ?

Pavan Deolasee
http://www.linkedin.com/in/pavandeolasee

PostgreSQL/Postgres-XC Consultant

Contributor to PostgreSQL and Postgres-XC Global
Development
Best known for development of Heap-Only-Tuple (HOT)
feature
Contributed several other enhancements to PostgreSQL
and derivatives
Contributed to Postgres-XC's architectural design and
implementation of several features

Previously worked for EnterpriseDB and Symantec/Veritas
PostgreSQL Recap
• is world's most advanced open source database
• is very stable
• is fully compliant with ANSI SQL
• supports foreign key, check constraints
• supports various kinds of indexes
• supports inheritance
• Is fully extensible (data types, procedural languages
etc)
• supports ACID transactions
• will recover your database in case of server failure
PostgreSQL Recap
• uses write-ahead-logs for durability and recover your
database in case of
• server failure
• built-in log based streaming
synchronous/asynchronous replication
• file system level backups and archive recovery
• point-in-time recovery
• hot standby
• upgrade in place
• full-text search
• and many more
Configuration/Admin
• Read-only GUC to show if data checksum is enabled or not
– Useful to know if the server is initialized with data
checksums on/off.
– Previously, user must look at pg_control to get this
information
• New autovacuum_work_mem parameter
– Separates it from the work_mem parameter
• A GUC to enable WAL-logging of hint bits, even with
checksums disabled.
– Turn this on if you want to use external tools such as
pg_rewind to quickly get you old master join the
replication as a new standby
– More WAL generated, so be aware of the performance
impact
Configuration/Admin
• A GUC, max_worker_processes, limiting number of
bgworkers.
• A GUC, session_preload_libraries, specifying preload
libraries at session startup
– Takes effect at backend start
– Doesn’t require a full server restart
• A new pg_stat_archiver statistics view.
• Improve EXPLAIN to print the grouping columns in Agg
and Group nodes.
• Default work_mem and maintenance_work_mem
increased by 4x
SQL Improvements
• Revive line type
CREATE TABLE LINE_TBL (s line);
• Represented by
• Equation Ax + By + C = 0
INSERT INTO LINE_TBL VALUES ('{1,-1,1}');
• Two points (x1, y1), (x2, y2)
INSERT INTO LINE_TBL VALUES ('(0,0),(6,6)');
SQL Improvements
• Allow only some columns of a view to be auto-
updateable.
CREATE TABLE base_tbl(a float);
CREATE VIEW rw_view1 AS
SELECT ctid, sin(a) s, a, cos(a) c
FROM base_tbl WHERE a != 0;
INSERT INTO rw_view1 VALUES (null, null, 1.1, null);
-- should fail
INSERT INTO rw_view1 (a) VALUES (1.1) RETURNING a, s, c;
-- OK
UPDATE rw_view1 SET s = s WHERE a = 1.1;
-- should fail
SQL Improvements
• Materialized Views - Support for REFRESH
CONCURRENTLY
– Readers won’t be blocked while a MatView is being
refreshed
• WITH CHECK OPTION support for auto-updatable
VIEWs
– INSERTs/UPDATEs not satisfying the view visibility will
be rejected
– LOCAL CHECK only checks against the current view
– CASCADE CHECK checks against all the underlying
views
SQL Improvements
• Provide a FORCE NULL option to COPY in CSV mode.
– Forces an input field containing the quoted null string
to be returned as a NULL. Without this option, only
unquoted null strings behave this way.
– Helps where some CSV producers insist on quoting
every field, whether or not it is needed.
– Takes a list of fields, and only applies to those columns.
CREATE TEMP TABLE forcetest (a INT NOT NULL, b
TEXT NOT NULL, c TEXT, d TEXT, e TEXT);
pset null NULL
COPY forcetest (a, b, c) FROM STDIN WITH
(FORMAT csv, FORCE_NOT_NULL(b),
FORCE_NULL(c));
SQL Improvements
• DISCARD SEQUENCES command.
– Will discard cached values for sequences
• Allow empty target list in SELECT
• WITHIN GROUP and ordered-set aggregates
• Support multi-argument UNNEST(), and
TABLE() syntax for multiple functions.
Developer Features
• Improve support for building PGXS modules with
VPATH.
• Use an MVCC snapshot, rather than SnapshotNow, for
catalog scans.
• Dynamic background worker threads
• Allow background workers to be started dynamically.
• Single-reader, single-writer, lightweight shared
message queue.
• Allow on-detach callbacks for dynamic shared memory
segments.
Security
• SSL: Add configuration option to prefer server
cipher order
• SSL: Support ECDH key exchange
• Rework SSL renegotiation code
Performance
• Change the way tuples are marked as frozen.
– Xmin is preserved for forensic analysis and debugging.
– Allows aggressive freezing of tuples without fear of
lossing critical debugging information
• Aggressively freeze tables when CLUSTER or VACUUM
FULL rewrites them.
• Include planning time in EXPLAIN ANALYZE output.
• Improve performance of numeric sum(), avg(),
stddev(), variance(), etc.
• Improve performance of COPY with default nextval()
Performance
• Only WAL-log the modified portion in an
UPDATE, if possible.
• Improve scalability of WAL insertions.
• Allow using huge TLB pages on Linux
(MAP_HUGETLB)
• Speed up "rare & frequent" type GIN queries.
Replication
• Allow time delayed standbys and recovery
– Set min_recovery_apply_delay to force a delay
in recovery apply
– Delay is measured between WAL record time
and local standby time.
• If multiple recovery_targets are specified, use
the latest one.
Logical Replication (WIP)
• Introduce logical decoding.
– Fine granular replication
– Bi-directional replication
• Add new wal_level, logical, sufcient for
logical decoding.
• Add the notion of REPLICA IDENTITY for a
table.
• Allow logical decoding via the walsender
interface.
Resources
• Release Notes
• Planet PostgreSQL
• Documentation
• Source Code
3/30/14 18
Thank you
Pavan Deolasee
pavan.deolasee@gmail.com
http://www.linkedin.com/in/pavandeolasee
3/30/14 19

Contenu connexe

Tendances

One Tool to Rule Them All- Seamless SQL on MongoDB, MySQL and Redis with Apac...
One Tool to Rule Them All- Seamless SQL on MongoDB, MySQL and Redis with Apac...One Tool to Rule Them All- Seamless SQL on MongoDB, MySQL and Redis with Apac...
One Tool to Rule Them All- Seamless SQL on MongoDB, MySQL and Redis with Apac...
Tim Vaillancourt
 
Distribute Key Value Store
Distribute Key Value StoreDistribute Key Value Store
Distribute Key Value Store
Santal Li
 
Monitoring MongoDB’s Engines in the Wild
Monitoring MongoDB’s Engines in the WildMonitoring MongoDB’s Engines in the Wild
Monitoring MongoDB’s Engines in the Wild
Tim Vaillancourt
 

Tendances (20)

Brk2051 sql server on linux and docker
Brk2051 sql server on linux and dockerBrk2051 sql server on linux and docker
Brk2051 sql server on linux and docker
 
Product Update: EDB Postgres Platform 2017
Product Update: EDB Postgres Platform 2017Product Update: EDB Postgres Platform 2017
Product Update: EDB Postgres Platform 2017
 
Query Parallelism in PostgreSQL: What's coming next?
Query Parallelism in PostgreSQL: What's coming next?Query Parallelism in PostgreSQL: What's coming next?
Query Parallelism in PostgreSQL: What's coming next?
 
Geographically Distributed PostgreSQL
Geographically Distributed PostgreSQLGeographically Distributed PostgreSQL
Geographically Distributed PostgreSQL
 
Migrating Oracle database to PostgreSQL
Migrating Oracle database to PostgreSQLMigrating Oracle database to PostgreSQL
Migrating Oracle database to PostgreSQL
 
Chicago Kafka Meetup
Chicago Kafka MeetupChicago Kafka Meetup
Chicago Kafka Meetup
 
Products.intro.forum version
Products.intro.forum versionProducts.intro.forum version
Products.intro.forum version
 
Postgres Presentation
Postgres PresentationPostgres Presentation
Postgres Presentation
 
One Tool to Rule Them All- Seamless SQL on MongoDB, MySQL and Redis with Apac...
One Tool to Rule Them All- Seamless SQL on MongoDB, MySQL and Redis with Apac...One Tool to Rule Them All- Seamless SQL on MongoDB, MySQL and Redis with Apac...
One Tool to Rule Them All- Seamless SQL on MongoDB, MySQL and Redis with Apac...
 
PostgreSQL 9.6 Performance-Scalability Improvements
PostgreSQL 9.6 Performance-Scalability ImprovementsPostgreSQL 9.6 Performance-Scalability Improvements
PostgreSQL 9.6 Performance-Scalability Improvements
 
State transfer With Galera
State transfer With GaleraState transfer With Galera
State transfer With Galera
 
PostgreSQL HA
PostgreSQL   HAPostgreSQL   HA
PostgreSQL HA
 
Distribute Key Value Store
Distribute Key Value StoreDistribute Key Value Store
Distribute Key Value Store
 
PGConf.ASIA 2019 Bali - Keynote Speech 2 - Ivan Pachenko
PGConf.ASIA 2019 Bali - Keynote Speech 2 - Ivan PachenkoPGConf.ASIA 2019 Bali - Keynote Speech 2 - Ivan Pachenko
PGConf.ASIA 2019 Bali - Keynote Speech 2 - Ivan Pachenko
 
Building Spark as Service in Cloud
Building Spark as Service in CloudBuilding Spark as Service in Cloud
Building Spark as Service in Cloud
 
Monitoring MongoDB’s Engines in the Wild
Monitoring MongoDB’s Engines in the WildMonitoring MongoDB’s Engines in the Wild
Monitoring MongoDB’s Engines in the Wild
 
Exadata Deployment Bare Metal vs Virtualized
Exadata Deployment Bare Metal vs VirtualizedExadata Deployment Bare Metal vs Virtualized
Exadata Deployment Bare Metal vs Virtualized
 
Cassandra Introduction & Features
Cassandra Introduction & FeaturesCassandra Introduction & Features
Cassandra Introduction & Features
 
PGConf.ASIA 2019 Bali - Building PostgreSQL as a Service with Kubernetes - Ta...
PGConf.ASIA 2019 Bali - Building PostgreSQL as a Service with Kubernetes - Ta...PGConf.ASIA 2019 Bali - Building PostgreSQL as a Service with Kubernetes - Ta...
PGConf.ASIA 2019 Bali - Building PostgreSQL as a Service with Kubernetes - Ta...
 
Cassandra: An Alien Technology That's not so Alien
Cassandra: An Alien Technology That's not so AlienCassandra: An Alien Technology That's not so Alien
Cassandra: An Alien Technology That's not so Alien
 

En vedette

En vedette (20)

PGconf India 2017 - Closing Note
PGconf India 2017 - Closing NotePGconf India 2017 - Closing Note
PGconf India 2017 - Closing Note
 
PostgreSQL DBA Neler Yapar?
PostgreSQL DBA Neler Yapar?PostgreSQL DBA Neler Yapar?
PostgreSQL DBA Neler Yapar?
 
Founding a LLC in Turkey
Founding a LLC in TurkeyFounding a LLC in Turkey
Founding a LLC in Turkey
 
TTÜ Geeky Weekly
TTÜ Geeky WeeklyTTÜ Geeky Weekly
TTÜ Geeky Weekly
 
PostgreSQL Hem Güçlü Hem Güzel!
PostgreSQL Hem Güçlü Hem Güzel!PostgreSQL Hem Güçlü Hem Güzel!
PostgreSQL Hem Güçlü Hem Güzel!
 
PostgreSQL'i öğrenmek ve yönetmek
PostgreSQL'i öğrenmek ve yönetmekPostgreSQL'i öğrenmek ve yönetmek
PostgreSQL'i öğrenmek ve yönetmek
 
Managing PostgreSQL with Ansible - FOSDEM PGDay 2016
Managing PostgreSQL with Ansible - FOSDEM PGDay 2016Managing PostgreSQL with Ansible - FOSDEM PGDay 2016
Managing PostgreSQL with Ansible - FOSDEM PGDay 2016
 
LUG-BG - Kostadin Slavkov - PostgreSQL 10
LUG-BG - Kostadin Slavkov - PostgreSQL 10LUG-BG - Kostadin Slavkov - PostgreSQL 10
LUG-BG - Kostadin Slavkov - PostgreSQL 10
 
10 things, an Oracle DBA should care about when moving to PostgreSQL
10 things, an Oracle DBA should care about when moving to PostgreSQL10 things, an Oracle DBA should care about when moving to PostgreSQL
10 things, an Oracle DBA should care about when moving to PostgreSQL
 
Entrepreneurship Reflective Learning Diary
Entrepreneurship Reflective Learning DiaryEntrepreneurship Reflective Learning Diary
Entrepreneurship Reflective Learning Diary
 
Go Faster With Native Compilation
Go Faster With Native CompilationGo Faster With Native Compilation
Go Faster With Native Compilation
 
pgDay Asia 2016 & 2017
pgDay Asia 2016 & 2017pgDay Asia 2016 & 2017
pgDay Asia 2016 & 2017
 
(Ab)using 4d Indexing
(Ab)using 4d Indexing(Ab)using 4d Indexing
(Ab)using 4d Indexing
 
Big Data and PostgreSQL
Big Data and PostgreSQLBig Data and PostgreSQL
Big Data and PostgreSQL
 
PostgreSQL performance improvements in 9.5 and 9.6
PostgreSQL performance improvements in 9.5 and 9.6PostgreSQL performance improvements in 9.5 and 9.6
PostgreSQL performance improvements in 9.5 and 9.6
 
PostgreSQL 10: What to Look For
PostgreSQL 10: What to Look ForPostgreSQL 10: What to Look For
PostgreSQL 10: What to Look For
 
Introduction to Vacuum Freezing and XID
Introduction to Vacuum Freezing and XIDIntroduction to Vacuum Freezing and XID
Introduction to Vacuum Freezing and XID
 
PostgreSQL: Past present Future
PostgreSQL: Past present FuturePostgreSQL: Past present Future
PostgreSQL: Past present Future
 
PostgreSQL Enterprise Class Features and Capabilities
PostgreSQL Enterprise Class Features and CapabilitiesPostgreSQL Enterprise Class Features and Capabilities
PostgreSQL Enterprise Class Features and Capabilities
 
Swapping Pacemaker Corosync with repmgr
Swapping Pacemaker Corosync with repmgrSwapping Pacemaker Corosync with repmgr
Swapping Pacemaker Corosync with repmgr
 

Similaire à What's New In PostgreSQL 9.4

PostgreSQL 9.0 & The Future
PostgreSQL 9.0 & The FuturePostgreSQL 9.0 & The Future
PostgreSQL 9.0 & The Future
Aaron Thul
 

Similaire à What's New In PostgreSQL 9.4 (20)

10 Reasons to Start Your Analytics Project with PostgreSQL
10 Reasons to Start Your Analytics Project with PostgreSQL10 Reasons to Start Your Analytics Project with PostgreSQL
10 Reasons to Start Your Analytics Project with PostgreSQL
 
3 CityNetConf - sql+c#=u-sql
3 CityNetConf - sql+c#=u-sql3 CityNetConf - sql+c#=u-sql
3 CityNetConf - sql+c#=u-sql
 
PostgreSQL 9.0 & The Future
PostgreSQL 9.0 & The FuturePostgreSQL 9.0 & The Future
PostgreSQL 9.0 & The Future
 
Cassandra training
Cassandra trainingCassandra training
Cassandra training
 
Experience sql server on l inux and docker
Experience sql server on l inux and dockerExperience sql server on l inux and docker
Experience sql server on l inux and docker
 
Modernizing your database with SQL Server 2019
Modernizing your database with SQL Server 2019Modernizing your database with SQL Server 2019
Modernizing your database with SQL Server 2019
 
SQL on Hadoop
SQL on HadoopSQL on Hadoop
SQL on Hadoop
 
Get to know PostgreSQL!
Get to know PostgreSQL!Get to know PostgreSQL!
Get to know PostgreSQL!
 
Introducing U-SQL (SQLPASS 2016)
Introducing U-SQL (SQLPASS 2016)Introducing U-SQL (SQLPASS 2016)
Introducing U-SQL (SQLPASS 2016)
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
 
Using existing language skillsets to create large-scale, cloud-based analytics
Using existing language skillsets to create large-scale, cloud-based analyticsUsing existing language skillsets to create large-scale, cloud-based analytics
Using existing language skillsets to create large-scale, cloud-based analytics
 
Novedades SQL Server 2014
Novedades SQL Server 2014Novedades SQL Server 2014
Novedades SQL Server 2014
 
Cassandra Java APIs Old and New – A Comparison
Cassandra Java APIs Old and New – A ComparisonCassandra Java APIs Old and New – A Comparison
Cassandra Java APIs Old and New – A Comparison
 
OOW16 - Oracle Database 12c - The Best Oracle Database 12c New Features for D...
OOW16 - Oracle Database 12c - The Best Oracle Database 12c New Features for D...OOW16 - Oracle Database 12c - The Best Oracle Database 12c New Features for D...
OOW16 - Oracle Database 12c - The Best Oracle Database 12c New Features for D...
 
OOW16 - Oracle Database 12c - The Best Oracle Database 12c New Features for D...
OOW16 - Oracle Database 12c - The Best Oracle Database 12c New Features for D...OOW16 - Oracle Database 12c - The Best Oracle Database 12c New Features for D...
OOW16 - Oracle Database 12c - The Best Oracle Database 12c New Features for D...
 
TSQL in SQL Server 2012
TSQL in SQL Server 2012TSQL in SQL Server 2012
TSQL in SQL Server 2012
 
Taming the Data Science Monster with A New ‘Sword’ – U-SQL
Taming the Data Science Monster with A New ‘Sword’ – U-SQLTaming the Data Science Monster with A New ‘Sword’ – U-SQL
Taming the Data Science Monster with A New ‘Sword’ – U-SQL
 
Introduction to Azure Data Lake and U-SQL for SQL users (SQL Saturday 635)
Introduction to Azure Data Lake and U-SQL for SQL users (SQL Saturday 635)Introduction to Azure Data Lake and U-SQL for SQL users (SQL Saturday 635)
Introduction to Azure Data Lake and U-SQL for SQL users (SQL Saturday 635)
 
SFScon14: Schrödinger’s elephant: why PostgreSQL can solve all your database ...
SFScon14: Schrödinger’s elephant: why PostgreSQL can solve all your database ...SFScon14: Schrödinger’s elephant: why PostgreSQL can solve all your database ...
SFScon14: Schrödinger’s elephant: why PostgreSQL can solve all your database ...
 
What’s new in SQL Server 2017
What’s new in SQL Server 2017What’s new in SQL Server 2017
What’s new in SQL Server 2017
 

Dernier

"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments""Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
mphochane1998
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
Neometrix_Engineering_Pvt_Ltd
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
Epec Engineered Technologies
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ssuser89054b
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Kandungan 087776558899
 

Dernier (20)

COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
 
💚Trustworthy Call Girls Pune Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top...
💚Trustworthy Call Girls Pune Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top...💚Trustworthy Call Girls Pune Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top...
💚Trustworthy Call Girls Pune Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top...
 
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments""Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
 
Moment Distribution Method For Btech Civil
Moment Distribution Method For Btech CivilMoment Distribution Method For Btech Civil
Moment Distribution Method For Btech Civil
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
 
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARHAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
Learn the concepts of Thermodynamics on Magic Marks
Learn the concepts of Thermodynamics on Magic MarksLearn the concepts of Thermodynamics on Magic Marks
Learn the concepts of Thermodynamics on Magic Marks
 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
PE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiesPE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and properties
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
Online food ordering system project report.pdf
Online food ordering system project report.pdfOnline food ordering system project report.pdf
Online food ordering system project report.pdf
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
 
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxA CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
 
School management system project Report.pdf
School management system project Report.pdfSchool management system project Report.pdf
School management system project Report.pdf
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leap
 
Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdf
 

What's New In PostgreSQL 9.4

  • 1. PostgreSQL 9.4 Sneak Peek Pavan Deolasee March 28, 2014 India PostgreSQL User Group Meetup Hyderabad
  • 2. Who am I ?  Pavan Deolasee http://www.linkedin.com/in/pavandeolasee  PostgreSQL/Postgres-XC Consultant  Contributor to PostgreSQL and Postgres-XC Global Development Best known for development of Heap-Only-Tuple (HOT) feature Contributed several other enhancements to PostgreSQL and derivatives Contributed to Postgres-XC's architectural design and implementation of several features  Previously worked for EnterpriseDB and Symantec/Veritas
  • 3. PostgreSQL Recap • is world's most advanced open source database • is very stable • is fully compliant with ANSI SQL • supports foreign key, check constraints • supports various kinds of indexes • supports inheritance • Is fully extensible (data types, procedural languages etc) • supports ACID transactions • will recover your database in case of server failure
  • 4. PostgreSQL Recap • uses write-ahead-logs for durability and recover your database in case of • server failure • built-in log based streaming synchronous/asynchronous replication • file system level backups and archive recovery • point-in-time recovery • hot standby • upgrade in place • full-text search • and many more
  • 5. Configuration/Admin • Read-only GUC to show if data checksum is enabled or not – Useful to know if the server is initialized with data checksums on/off. – Previously, user must look at pg_control to get this information • New autovacuum_work_mem parameter – Separates it from the work_mem parameter • A GUC to enable WAL-logging of hint bits, even with checksums disabled. – Turn this on if you want to use external tools such as pg_rewind to quickly get you old master join the replication as a new standby – More WAL generated, so be aware of the performance impact
  • 6. Configuration/Admin • A GUC, max_worker_processes, limiting number of bgworkers. • A GUC, session_preload_libraries, specifying preload libraries at session startup – Takes effect at backend start – Doesn’t require a full server restart • A new pg_stat_archiver statistics view. • Improve EXPLAIN to print the grouping columns in Agg and Group nodes. • Default work_mem and maintenance_work_mem increased by 4x
  • 7. SQL Improvements • Revive line type CREATE TABLE LINE_TBL (s line); • Represented by • Equation Ax + By + C = 0 INSERT INTO LINE_TBL VALUES ('{1,-1,1}'); • Two points (x1, y1), (x2, y2) INSERT INTO LINE_TBL VALUES ('(0,0),(6,6)');
  • 8. SQL Improvements • Allow only some columns of a view to be auto- updateable. CREATE TABLE base_tbl(a float); CREATE VIEW rw_view1 AS SELECT ctid, sin(a) s, a, cos(a) c FROM base_tbl WHERE a != 0; INSERT INTO rw_view1 VALUES (null, null, 1.1, null); -- should fail INSERT INTO rw_view1 (a) VALUES (1.1) RETURNING a, s, c; -- OK UPDATE rw_view1 SET s = s WHERE a = 1.1; -- should fail
  • 9. SQL Improvements • Materialized Views - Support for REFRESH CONCURRENTLY – Readers won’t be blocked while a MatView is being refreshed • WITH CHECK OPTION support for auto-updatable VIEWs – INSERTs/UPDATEs not satisfying the view visibility will be rejected – LOCAL CHECK only checks against the current view – CASCADE CHECK checks against all the underlying views
  • 10. SQL Improvements • Provide a FORCE NULL option to COPY in CSV mode. – Forces an input field containing the quoted null string to be returned as a NULL. Without this option, only unquoted null strings behave this way. – Helps where some CSV producers insist on quoting every field, whether or not it is needed. – Takes a list of fields, and only applies to those columns. CREATE TEMP TABLE forcetest (a INT NOT NULL, b TEXT NOT NULL, c TEXT, d TEXT, e TEXT); pset null NULL COPY forcetest (a, b, c) FROM STDIN WITH (FORMAT csv, FORCE_NOT_NULL(b), FORCE_NULL(c));
  • 11. SQL Improvements • DISCARD SEQUENCES command. – Will discard cached values for sequences • Allow empty target list in SELECT • WITHIN GROUP and ordered-set aggregates • Support multi-argument UNNEST(), and TABLE() syntax for multiple functions.
  • 12. Developer Features • Improve support for building PGXS modules with VPATH. • Use an MVCC snapshot, rather than SnapshotNow, for catalog scans. • Dynamic background worker threads • Allow background workers to be started dynamically. • Single-reader, single-writer, lightweight shared message queue. • Allow on-detach callbacks for dynamic shared memory segments.
  • 13. Security • SSL: Add configuration option to prefer server cipher order • SSL: Support ECDH key exchange • Rework SSL renegotiation code
  • 14. Performance • Change the way tuples are marked as frozen. – Xmin is preserved for forensic analysis and debugging. – Allows aggressive freezing of tuples without fear of lossing critical debugging information • Aggressively freeze tables when CLUSTER or VACUUM FULL rewrites them. • Include planning time in EXPLAIN ANALYZE output. • Improve performance of numeric sum(), avg(), stddev(), variance(), etc. • Improve performance of COPY with default nextval()
  • 15. Performance • Only WAL-log the modified portion in an UPDATE, if possible. • Improve scalability of WAL insertions. • Allow using huge TLB pages on Linux (MAP_HUGETLB) • Speed up "rare & frequent" type GIN queries.
  • 16. Replication • Allow time delayed standbys and recovery – Set min_recovery_apply_delay to force a delay in recovery apply – Delay is measured between WAL record time and local standby time. • If multiple recovery_targets are specified, use the latest one.
  • 17. Logical Replication (WIP) • Introduce logical decoding. – Fine granular replication – Bi-directional replication • Add new wal_level, logical, sufcient for logical decoding. • Add the notion of REPLICA IDENTITY for a table. • Allow logical decoding via the walsender interface.
  • 18. Resources • Release Notes • Planet PostgreSQL • Documentation • Source Code 3/30/14 18