SlideShare a Scribd company logo
What’s New In PostgreSQL 9.3 ?
Pavan Deolasee
Nov 16, 2013
India PostgreSQL UserGroup MeetUp
Who am I ?


Pavan Deolasee
–



http://www.linkedin.com/in/pavandeolasee

Contributor to PostgreSQL and Postgres-XC Global
DevelopmentBest known for development of Heap-OnlyTuple (HOT) feature of PostgreSQL 8.3 release
–

Contributed several other enhancements to PostgreSQL
and derivatives

–

Contributed to Postgres-XC's architectural design and
implementation of several features



Currently works at NTT Data as a consultant



Previously worked for EnterpriseDB and Symantec/Veritas
Credits
●

Magnus Hagander

●

Michael Paquier

●

Bruce Momjian

●

Of course, all the developers
PostgreSQL Recap
PostgreSQL
–

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)

–

will recover your database in case of server failure
PostgreSQL Recap
PostgreSQL
–

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
What’s New Really in 9.3 ?
●

SQL features

●

Performance features

●

DBA features

●

Many more general features
Auto Updatable Views
●

Simple views are now updatable i.e. you can run
INSERT/UPDATE/DELETE queries against a view that uses a
single base relation

●

Many restrictions apply

●

More complex views can be updated via RULEs mechanism
Materialized Views
●

●

Query is executed once and result is materialized on a stable
storage
Views must be refreshed manually

CREATE MATERIALIZED VIEW
..
AS query [ WITH [ NO ] DATA ]
LATERAL Support
●

●

Subqueries appearing in FROM can be preceded by the key
word LATERAL.
This allows them to reference columns provided by
preceding FROM items.
–

●

Without LATERAL, each subquery is evaluated
independently and so cannot cross-reference any
other FROM item.

LATERAL is primarily useful when the cross-referenced
column is necessary for computing the row(s) to be joined.
–

A common application is providing an argument value for
a set-returning function
LATERAL Example
SELECT m.name FROM
manufacturers m LEFT JOIN
LATERAL get_product_names(m.id) pname
ON true WHERE pname IS NULL;
Range Type Enhancements
●

●

SP-Gist index support for range types
Statistics collection for range types thus improving query
planning and execution
JSON Enhancements
●

●

●

●

Operators and functions to extract elements from JSON
values
Allow JSON values to be converted into records
Functions to convert scalars, records and hstore values to
JSON
Aggregates
Foreign Data Wrappers
●

●

Several new features
PostgreSQL FDW (postgres_fdw) is available in core now
(forget the old dblink)

●

Writable FDWs are now reality

●

Many FDWs are already available
–

Hbase

–

MongoDB

–

MySQL

–

Oracle
COPY FREEZE
●

●

Load tuples in frozen state to avoid another rewrite of the
table
A few restrictions apply
–

●

A table must be truncated or created in the same
transaction loading the frozen data

A very useful tip to avoid significant IO overhead while
working with large tables
Background Workers
●

●

●

Step towards parallel query execution which is still a release
or two away
Background workers can be used with 9.3 if you have enough
guts to write some cool C code
Look at contrib/worker_spi for some sample code
Posix/mmap Shared Memory
●

●

A step away from SysV Shared memory
Most unix-like systems support Posix or mmap and
PostgreSQL will use them by default
–

●

A small SysV shared memory segment is still allocated for
book keeping purposes

No need to tune your kernel parameters or hit runtime issues
because of hitting kernel limits
Page Level Checksums
●

●

A great feature for checking data consistency
Can be turned on (default is of) at the initdb time and must
stay that way
–

●

Comes at a cost

Errors can’t be corrected, but corruptions can be detected
very early in the cycle
Foreign Key Locking
●

●

Improved concurrency since non-key updates don’t block
foreign key checks
New lock levels
–
–

●

●

FOR KEY SHARE
FOR NO KEY UPDATE

Foreign key triggers now take FOR KEY SHARE locks
DMLs updating non key columns should take FOR NO KEY
UPDATE locks thus avoiding blocking
Event Triggers
●

They are more like DDL triggers
–

●

●

●

Triggers are invoked when new database objects are
created, updated or dropped

Will be useful for logging, monitoring and even some
replication solutions
Three types of triggers - ddl_command_start,
ddl_command_end, sql_drop
More support expected in later releases
Parallel pg_dump
●

Faster pg_dump by using multiple processes
–
–

●

Better utilization of multiple cores
Multiple tables are dumped in parallel

Remember pg_restore can already run parallel jobs
Streaming-only Remastering
●

"Remastering" is the process whereby a replica in a set of
replicas becomes the new master for all of the other replicas.
–

Master M1 is replicating to replicas R1, R2 and R3.

–

Master M1 needs to be taken down for a hardware
upgrade.

–

The DBA promotes R1 to be the master.

–

R2 and R3 are reconfigured & restarted, and now replicate
from R1
Streaming-only Remastering
●

●

In prior versions, it wasn’t possible to stream from new
master without taking a fresh backup
That restriction is now gone
Arch Independent Streaming
●

Stream WAL from diferent OS and diferent architecture
–

pg_basebackup and pg_receivexlog can now work cross
platform

–

You can’t apply WAL from diferent architecture, but this is
still very useful for centralized backup etc
Many More
●

pg_basebackup conf setup (-R option)

●

Logging enhancements

●

Recursive views

●

COPY PIPE

●

Include_dir directive

●

Array enhancements
Resources
●

Release Notes
–

●

Planet PostgreSQL
–

●

http://planet.postgresql.org/

Documentation
–

●

http://www.postgresql.org/docs/9.3/static/release-9-3.html

http://www.postgresql.org/docs/9.3/static/index.html

Source Code
–

http://git.postgresql.org/gitweb/
Thank you
Pavan Deolasee
pavan.deolasee@gmail.com
http://www.linkedin.com/in/pavandeolasee
Ad

More Related Content

What's hot (20)

Streaming Replication (Keynote @ PostgreSQL Conference 2009 Japan)
Streaming Replication (Keynote @ PostgreSQL Conference 2009 Japan)Streaming Replication (Keynote @ PostgreSQL Conference 2009 Japan)
Streaming Replication (Keynote @ PostgreSQL Conference 2009 Japan)
Masao Fujii
 
PostgreSQL as an Alternative to MSSQL
PostgreSQL as an Alternative to MSSQLPostgreSQL as an Alternative to MSSQL
PostgreSQL as an Alternative to MSSQL
Alexei Krasner
 
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
Ashnikbiz
 
PostgreSQL Replication High Availability Methods
PostgreSQL Replication High Availability MethodsPostgreSQL Replication High Availability Methods
PostgreSQL Replication High Availability Methods
Mydbops
 
Introduction to PostgreSQL
Introduction to PostgreSQLIntroduction to PostgreSQL
Introduction to PostgreSQL
Jim Mlodgenski
 
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?
Mydbops
 
Percona FT / TokuDB
Percona FT / TokuDBPercona FT / TokuDB
Percona FT / TokuDB
Vadim Tkachenko
 
Beyond Postgres: Interesting Projects, Tools and forks
Beyond Postgres: Interesting Projects, Tools and forksBeyond Postgres: Interesting Projects, Tools and forks
Beyond Postgres: Interesting Projects, Tools and forks
Sameer Kumar
 
Products.intro.forum version
Products.intro.forum versionProducts.intro.forum version
Products.intro.forum version
sqlserver.co.il
 
Inside sql server in memory oltp sql sat nyc 2017
Inside sql server in memory oltp sql sat nyc 2017Inside sql server in memory oltp sql sat nyc 2017
Inside sql server in memory oltp sql sat nyc 2017
Bob Ward
 
Oracle to Postgres Migration - part 2
Oracle to Postgres Migration - part 2Oracle to Postgres Migration - part 2
Oracle to Postgres Migration - part 2
PgTraining
 
2016 jan-pugs-meetup-v9.5-features
2016 jan-pugs-meetup-v9.5-features2016 jan-pugs-meetup-v9.5-features
2016 jan-pugs-meetup-v9.5-features
Sameer Kumar
 
PostgreSQL Database Slides
PostgreSQL Database SlidesPostgreSQL Database Slides
PostgreSQL Database Slides
metsarin
 
Distribute Key Value Store
Distribute Key Value StoreDistribute Key Value Store
Distribute Key Value Store
Santal Li
 
Meet Spilo, Zalando’s HIGH-AVAILABLE POSTGRESQL CLUSTER - Feike Steenbergen
Meet Spilo, Zalando’s HIGH-AVAILABLE POSTGRESQL CLUSTER - Feike SteenbergenMeet Spilo, Zalando’s HIGH-AVAILABLE POSTGRESQL CLUSTER - Feike Steenbergen
Meet Spilo, Zalando’s HIGH-AVAILABLE POSTGRESQL CLUSTER - Feike Steenbergen
distributed matters
 
Big Data and PostgreSQL
Big Data and PostgreSQLBig Data and PostgreSQL
Big Data and PostgreSQL
PGConf APAC
 
Overview of some popular distributed databases
Overview of some popular distributed databasesOverview of some popular distributed databases
Overview of some popular distributed databases
sagar chaturvedi
 
Migration challenges and process
Migration challenges and processMigration challenges and process
Migration challenges and process
Andrejs Vorobjovs
 
8a. How To Setup HBase with Docker
8a. How To Setup HBase with Docker8a. How To Setup HBase with Docker
8a. How To Setup HBase with Docker
Fabio Fumarola
 
Nov. 4, 2011 o reilly webcast-hbase- lars george
Nov. 4, 2011 o reilly webcast-hbase- lars georgeNov. 4, 2011 o reilly webcast-hbase- lars george
Nov. 4, 2011 o reilly webcast-hbase- lars george
O'Reilly Media
 
Streaming Replication (Keynote @ PostgreSQL Conference 2009 Japan)
Streaming Replication (Keynote @ PostgreSQL Conference 2009 Japan)Streaming Replication (Keynote @ PostgreSQL Conference 2009 Japan)
Streaming Replication (Keynote @ PostgreSQL Conference 2009 Japan)
Masao Fujii
 
PostgreSQL as an Alternative to MSSQL
PostgreSQL as an Alternative to MSSQLPostgreSQL as an Alternative to MSSQL
PostgreSQL as an Alternative to MSSQL
Alexei Krasner
 
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
Ashnikbiz
 
PostgreSQL Replication High Availability Methods
PostgreSQL Replication High Availability MethodsPostgreSQL Replication High Availability Methods
PostgreSQL Replication High Availability Methods
Mydbops
 
Introduction to PostgreSQL
Introduction to PostgreSQLIntroduction to PostgreSQL
Introduction to PostgreSQL
Jim Mlodgenski
 
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?
Mydbops
 
Beyond Postgres: Interesting Projects, Tools and forks
Beyond Postgres: Interesting Projects, Tools and forksBeyond Postgres: Interesting Projects, Tools and forks
Beyond Postgres: Interesting Projects, Tools and forks
Sameer Kumar
 
Products.intro.forum version
Products.intro.forum versionProducts.intro.forum version
Products.intro.forum version
sqlserver.co.il
 
Inside sql server in memory oltp sql sat nyc 2017
Inside sql server in memory oltp sql sat nyc 2017Inside sql server in memory oltp sql sat nyc 2017
Inside sql server in memory oltp sql sat nyc 2017
Bob Ward
 
Oracle to Postgres Migration - part 2
Oracle to Postgres Migration - part 2Oracle to Postgres Migration - part 2
Oracle to Postgres Migration - part 2
PgTraining
 
2016 jan-pugs-meetup-v9.5-features
2016 jan-pugs-meetup-v9.5-features2016 jan-pugs-meetup-v9.5-features
2016 jan-pugs-meetup-v9.5-features
Sameer Kumar
 
PostgreSQL Database Slides
PostgreSQL Database SlidesPostgreSQL Database Slides
PostgreSQL Database Slides
metsarin
 
Distribute Key Value Store
Distribute Key Value StoreDistribute Key Value Store
Distribute Key Value Store
Santal Li
 
Meet Spilo, Zalando’s HIGH-AVAILABLE POSTGRESQL CLUSTER - Feike Steenbergen
Meet Spilo, Zalando’s HIGH-AVAILABLE POSTGRESQL CLUSTER - Feike SteenbergenMeet Spilo, Zalando’s HIGH-AVAILABLE POSTGRESQL CLUSTER - Feike Steenbergen
Meet Spilo, Zalando’s HIGH-AVAILABLE POSTGRESQL CLUSTER - Feike Steenbergen
distributed matters
 
Big Data and PostgreSQL
Big Data and PostgreSQLBig Data and PostgreSQL
Big Data and PostgreSQL
PGConf APAC
 
Overview of some popular distributed databases
Overview of some popular distributed databasesOverview of some popular distributed databases
Overview of some popular distributed databases
sagar chaturvedi
 
Migration challenges and process
Migration challenges and processMigration challenges and process
Migration challenges and process
Andrejs Vorobjovs
 
8a. How To Setup HBase with Docker
8a. How To Setup HBase with Docker8a. How To Setup HBase with Docker
8a. How To Setup HBase with Docker
Fabio Fumarola
 
Nov. 4, 2011 o reilly webcast-hbase- lars george
Nov. 4, 2011 o reilly webcast-hbase- lars georgeNov. 4, 2011 o reilly webcast-hbase- lars george
Nov. 4, 2011 o reilly webcast-hbase- lars george
O'Reilly Media
 

Similar to What’s New In PostgreSQL 9.3 (20)

Plpgsql russia-pgconf
Plpgsql russia-pgconfPlpgsql russia-pgconf
Plpgsql russia-pgconf
Pavel Stěhule
 
An evening with Postgresql
An evening with PostgresqlAn evening with Postgresql
An evening with Postgresql
Joshua Drake
 
The Accidental DBA
The Accidental DBAThe Accidental DBA
The Accidental DBA
PostgreSQL Experts, Inc.
 
Elephants in the Cloud
Elephants in the CloudElephants in the Cloud
Elephants in the Cloud
Mike Fowler
 
An Introduction to Postgresql
An Introduction to PostgresqlAn Introduction to Postgresql
An Introduction to Postgresql
عباس بني اسدي مقدم
 
PostgreSQL: present and near future
PostgreSQL: present and near futurePostgreSQL: present and near future
PostgreSQL: present and near future
NaN-tic
 
Introduction to mongo db
Introduction to mongo dbIntroduction to mongo db
Introduction to mongo db
Lawrence Mwai
 
Proper Care and Feeding of a MySQL Database for Busy Linux Administrators
Proper Care and Feeding of a MySQL Database for Busy Linux AdministratorsProper Care and Feeding of a MySQL Database for Busy Linux Administrators
Proper Care and Feeding of a MySQL Database for Busy Linux Administrators
Dave Stokes
 
The Proper Care and Feeding of a MySQL Database for Busy Linux Admins -- SCaL...
The Proper Care and Feeding of a MySQL Database for Busy Linux Admins -- SCaL...The Proper Care and Feeding of a MySQL Database for Busy Linux Admins -- SCaL...
The Proper Care and Feeding of a MySQL Database for Busy Linux Admins -- SCaL...
Dave Stokes
 
Introduction to Postrges-XC
Introduction to Postrges-XCIntroduction to Postrges-XC
Introduction to Postrges-XC
Ashutosh Bapat
 
Must Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during MigrationMust Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during Migration
Mydbops
 
PostgreSQL, Extensible to the Nth Degree: Functions, Languages, Types, Rules,...
PostgreSQL, Extensible to the Nth Degree: Functions, Languages, Types, Rules,...PostgreSQL, Extensible to the Nth Degree: Functions, Languages, Types, Rules,...
PostgreSQL, Extensible to the Nth Degree: Functions, Languages, Types, Rules,...
Command Prompt., Inc
 
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
 
Useful PostgreSQL Extensions
Useful PostgreSQL ExtensionsUseful PostgreSQL Extensions
Useful PostgreSQL Extensions
EDB
 
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
EDB
 
Linuxfest Northwest Proper Care and Feeding Of a MySQL for Busy Linux Admins
Linuxfest Northwest Proper Care and Feeding Of a MySQL for Busy Linux AdminsLinuxfest Northwest Proper Care and Feeding Of a MySQL for Busy Linux Admins
Linuxfest Northwest Proper Care and Feeding Of a MySQL for Busy Linux Admins
Dave Stokes
 
PostgreSQL Sharding and HA: Theory and Practice (PGConf.ASIA 2017)
PostgreSQL Sharding and HA: Theory and Practice (PGConf.ASIA 2017)PostgreSQL Sharding and HA: Theory and Practice (PGConf.ASIA 2017)
PostgreSQL Sharding and HA: Theory and Practice (PGConf.ASIA 2017)
Aleksander Alekseev
 
What's New in Postgres 9.4
What's New in Postgres 9.4What's New in Postgres 9.4
What's New in Postgres 9.4
EDB
 
TDX2025 SFwelly April 2025 presented by David Smith
TDX2025 SFwelly April 2025 presented by David SmithTDX2025 SFwelly April 2025 presented by David Smith
TDX2025 SFwelly April 2025 presented by David Smith
Anna Loughnan Colquhoun
 
Cómo se diseña una base de datos que pueda ingerir más de cuatro millones de ...
Cómo se diseña una base de datos que pueda ingerir más de cuatro millones de ...Cómo se diseña una base de datos que pueda ingerir más de cuatro millones de ...
Cómo se diseña una base de datos que pueda ingerir más de cuatro millones de ...
javier ramirez
 
An evening with Postgresql
An evening with PostgresqlAn evening with Postgresql
An evening with Postgresql
Joshua Drake
 
Elephants in the Cloud
Elephants in the CloudElephants in the Cloud
Elephants in the Cloud
Mike Fowler
 
PostgreSQL: present and near future
PostgreSQL: present and near futurePostgreSQL: present and near future
PostgreSQL: present and near future
NaN-tic
 
Introduction to mongo db
Introduction to mongo dbIntroduction to mongo db
Introduction to mongo db
Lawrence Mwai
 
Proper Care and Feeding of a MySQL Database for Busy Linux Administrators
Proper Care and Feeding of a MySQL Database for Busy Linux AdministratorsProper Care and Feeding of a MySQL Database for Busy Linux Administrators
Proper Care and Feeding of a MySQL Database for Busy Linux Administrators
Dave Stokes
 
The Proper Care and Feeding of a MySQL Database for Busy Linux Admins -- SCaL...
The Proper Care and Feeding of a MySQL Database for Busy Linux Admins -- SCaL...The Proper Care and Feeding of a MySQL Database for Busy Linux Admins -- SCaL...
The Proper Care and Feeding of a MySQL Database for Busy Linux Admins -- SCaL...
Dave Stokes
 
Introduction to Postrges-XC
Introduction to Postrges-XCIntroduction to Postrges-XC
Introduction to Postrges-XC
Ashutosh Bapat
 
Must Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during MigrationMust Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during Migration
Mydbops
 
PostgreSQL, Extensible to the Nth Degree: Functions, Languages, Types, Rules,...
PostgreSQL, Extensible to the Nth Degree: Functions, Languages, Types, Rules,...PostgreSQL, Extensible to the Nth Degree: Functions, Languages, Types, Rules,...
PostgreSQL, Extensible to the Nth Degree: Functions, Languages, Types, Rules,...
Command Prompt., Inc
 
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
 
Useful PostgreSQL Extensions
Useful PostgreSQL ExtensionsUseful PostgreSQL Extensions
Useful PostgreSQL Extensions
EDB
 
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
EDB
 
Linuxfest Northwest Proper Care and Feeding Of a MySQL for Busy Linux Admins
Linuxfest Northwest Proper Care and Feeding Of a MySQL for Busy Linux AdminsLinuxfest Northwest Proper Care and Feeding Of a MySQL for Busy Linux Admins
Linuxfest Northwest Proper Care and Feeding Of a MySQL for Busy Linux Admins
Dave Stokes
 
PostgreSQL Sharding and HA: Theory and Practice (PGConf.ASIA 2017)
PostgreSQL Sharding and HA: Theory and Practice (PGConf.ASIA 2017)PostgreSQL Sharding and HA: Theory and Practice (PGConf.ASIA 2017)
PostgreSQL Sharding and HA: Theory and Practice (PGConf.ASIA 2017)
Aleksander Alekseev
 
What's New in Postgres 9.4
What's New in Postgres 9.4What's New in Postgres 9.4
What's New in Postgres 9.4
EDB
 
TDX2025 SFwelly April 2025 presented by David Smith
TDX2025 SFwelly April 2025 presented by David SmithTDX2025 SFwelly April 2025 presented by David Smith
TDX2025 SFwelly April 2025 presented by David Smith
Anna Loughnan Colquhoun
 
Cómo se diseña una base de datos que pueda ingerir más de cuatro millones de ...
Cómo se diseña una base de datos que pueda ingerir más de cuatro millones de ...Cómo se diseña una base de datos que pueda ingerir más de cuatro millones de ...
Cómo se diseña una base de datos que pueda ingerir más de cuatro millones de ...
javier ramirez
 
Ad

Recently uploaded (20)

IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Ad

What’s New In PostgreSQL 9.3

  • 1. What’s New In PostgreSQL 9.3 ? Pavan Deolasee Nov 16, 2013 India PostgreSQL UserGroup MeetUp
  • 2. Who am I ?  Pavan Deolasee –  http://www.linkedin.com/in/pavandeolasee Contributor to PostgreSQL and Postgres-XC Global DevelopmentBest known for development of Heap-OnlyTuple (HOT) feature of PostgreSQL 8.3 release – Contributed several other enhancements to PostgreSQL and derivatives – Contributed to Postgres-XC's architectural design and implementation of several features  Currently works at NTT Data as a consultant  Previously worked for EnterpriseDB and Symantec/Veritas
  • 3. Credits ● Magnus Hagander ● Michael Paquier ● Bruce Momjian ● Of course, all the developers
  • 4. PostgreSQL Recap PostgreSQL – 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) – will recover your database in case of server failure
  • 5. PostgreSQL Recap PostgreSQL – 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
  • 6. What’s New Really in 9.3 ? ● SQL features ● Performance features ● DBA features ● Many more general features
  • 7. Auto Updatable Views ● Simple views are now updatable i.e. you can run INSERT/UPDATE/DELETE queries against a view that uses a single base relation ● Many restrictions apply ● More complex views can be updated via RULEs mechanism
  • 8. Materialized Views ● ● Query is executed once and result is materialized on a stable storage Views must be refreshed manually CREATE MATERIALIZED VIEW .. AS query [ WITH [ NO ] DATA ]
  • 9. LATERAL Support ● ● Subqueries appearing in FROM can be preceded by the key word LATERAL. This allows them to reference columns provided by preceding FROM items. – ● Without LATERAL, each subquery is evaluated independently and so cannot cross-reference any other FROM item. LATERAL is primarily useful when the cross-referenced column is necessary for computing the row(s) to be joined. – A common application is providing an argument value for a set-returning function
  • 10. LATERAL Example SELECT m.name FROM manufacturers m LEFT JOIN LATERAL get_product_names(m.id) pname ON true WHERE pname IS NULL;
  • 11. Range Type Enhancements ● ● SP-Gist index support for range types Statistics collection for range types thus improving query planning and execution
  • 12. JSON Enhancements ● ● ● ● Operators and functions to extract elements from JSON values Allow JSON values to be converted into records Functions to convert scalars, records and hstore values to JSON Aggregates
  • 13. Foreign Data Wrappers ● ● Several new features PostgreSQL FDW (postgres_fdw) is available in core now (forget the old dblink) ● Writable FDWs are now reality ● Many FDWs are already available – Hbase – MongoDB – MySQL – Oracle
  • 14. COPY FREEZE ● ● Load tuples in frozen state to avoid another rewrite of the table A few restrictions apply – ● A table must be truncated or created in the same transaction loading the frozen data A very useful tip to avoid significant IO overhead while working with large tables
  • 15. Background Workers ● ● ● Step towards parallel query execution which is still a release or two away Background workers can be used with 9.3 if you have enough guts to write some cool C code Look at contrib/worker_spi for some sample code
  • 16. Posix/mmap Shared Memory ● ● A step away from SysV Shared memory Most unix-like systems support Posix or mmap and PostgreSQL will use them by default – ● A small SysV shared memory segment is still allocated for book keeping purposes No need to tune your kernel parameters or hit runtime issues because of hitting kernel limits
  • 17. Page Level Checksums ● ● A great feature for checking data consistency Can be turned on (default is of) at the initdb time and must stay that way – ● Comes at a cost Errors can’t be corrected, but corruptions can be detected very early in the cycle
  • 18. Foreign Key Locking ● ● Improved concurrency since non-key updates don’t block foreign key checks New lock levels – – ● ● FOR KEY SHARE FOR NO KEY UPDATE Foreign key triggers now take FOR KEY SHARE locks DMLs updating non key columns should take FOR NO KEY UPDATE locks thus avoiding blocking
  • 19. Event Triggers ● They are more like DDL triggers – ● ● ● Triggers are invoked when new database objects are created, updated or dropped Will be useful for logging, monitoring and even some replication solutions Three types of triggers - ddl_command_start, ddl_command_end, sql_drop More support expected in later releases
  • 20. Parallel pg_dump ● Faster pg_dump by using multiple processes – – ● Better utilization of multiple cores Multiple tables are dumped in parallel Remember pg_restore can already run parallel jobs
  • 21. Streaming-only Remastering ● "Remastering" is the process whereby a replica in a set of replicas becomes the new master for all of the other replicas. – Master M1 is replicating to replicas R1, R2 and R3. – Master M1 needs to be taken down for a hardware upgrade. – The DBA promotes R1 to be the master. – R2 and R3 are reconfigured & restarted, and now replicate from R1
  • 22. Streaming-only Remastering ● ● In prior versions, it wasn’t possible to stream from new master without taking a fresh backup That restriction is now gone
  • 23. Arch Independent Streaming ● Stream WAL from diferent OS and diferent architecture – pg_basebackup and pg_receivexlog can now work cross platform – You can’t apply WAL from diferent architecture, but this is still very useful for centralized backup etc
  • 24. Many More ● pg_basebackup conf setup (-R option) ● Logging enhancements ● Recursive views ● COPY PIPE ● Include_dir directive ● Array enhancements