SlideShare une entreprise Scribd logo
1  sur  40
Télécharger pour lire hors ligne
Major Features: Postgres 9.5
BRUCE MOMJIAN
POSTGRESQL is an open-source, full-featured relational database.
This presentation gives an overview of the Postgres 9.5 release.
Creative Commons Attribution License http://momjian.us/presentations
Last updated: November, 2015
1 / 40
PostgreSQL the database…
◮ Open Source Object Relational DBMS since 1996
◮ Distributed under the PostgreSQL License
◮ Similar technical heritage as Oracle, SQL Server & DB2
◮ However, a strong adherence to standards (ANSI-SQL 2008)
◮ Highly extensible and adaptable design
◮ Languages, indexing, data types, etc.
◮ E.g. PostGIS, JSONB, SQL/MED
◮ Extensive use throughout the world for applications and
organizations of all types
◮ Bundled into Red Hat Enterprise Linux, Ubuntu, CentOS
and Amazon Linux
Major Features: Postgres 9.5 2 / 40
PostgreSQL the community…
◮ Independent community led by a Core Team of six
◮ Large, active and vibrant community
◮ www.postgresql.org
◮ Downloads, Mailing lists, Documentation
◮ Sponsors sampler:
◮ Google, Red Hat, VMWare, Skype, Salesforce, HP and
EnterpriseDB
◮ http://www.postgresql.org/community/
Major Features: Postgres 9.5 3 / 40
EnterpriseDB the company…
◮ Worldwide leader of Postgres based products and services
founded in 2004
◮ Customers include 63 of the Fortune 500 and 137 of the
Forbes Global 2000
◮ 2,700 customers range across many industries including
financial, healthcare, government, retail, telcommunications,
and insurance
◮ Enterprise offerings:
◮ PostgreSQL Support, Services and Training
◮ Postgres Plus Advanced Server with Oracle Compatibility
◮ Tools for Monitoring, Replication, HA, Backup & Recovery
Community
◮ Citizenship
◮ Contributor of key features: Materialized Views, JSON, &
more
◮ Nine community members on staff
Major Features: Postgres 9.5 4 / 40
EnterpriseDB the company…
Major Features: Postgres 9.5 5 / 40
EnterpriseDB Is a Leader
The Gartner report, Magic Quadrant for Operational Database Management Systems, by
Donald Feinberg, Merv Adrian, Nick Heudecker, Adam Ronthal, and Terilyn Palanca was
published October 12, 2015.
Major Features: Postgres 9.5 6 / 40
9.5 Feature Outline
1. INSERT … ON CONFLICT, also known as “UPSERT”
2. Block-Range Indexes (BRIN) which enable compact indexing of
very large tables
3. Analytic operations GROUPING SETS, CUBE, and ROLLUP
4. Row-Level Security (RLS)
5. In-memory sorting and hashing performance improvements
6. Multi-core and large memory scalability improvements
7. Automated management of the number of WAL files
8. Additional JSONB data manipulation functions and operators
9. Enhancements to Foreign Data Wrappers
10. Allow Indexed PostGIS LIMIT distance calculations
without CTEs
To be released in 2015, full item list at
http://www.postgresql.org/docs/devel/static/release-9-5.html
Major Features: Postgres 9.5 7 / 40
1. INSERT … ON CONFLICT
◮ Turns a conflicting INSERT into an UPDATE
◮ Works for VALUES and SELECT as a row source
◮ Handles concurrent operations without errors
◮ Is row-oriented, unlike MERGE, which is batch-oriented
◮ Does not have the problems associated with the
UPSERT/MERGE implementations of other vendors
(http://www.pgcon.org/2014/schedule/attachments/327_upsert_weird.pdf)
Major Features: Postgres 9.5 8 / 40
INSERT … ON CONFLICT Example
CREATE TABLE ins_update_test (x INTEGER PRIMARY KEY);
INSERT INTO ins_update_test VALUES (1);
INSERT INTO ins_update_test VALUES (1);
ERROR: duplicate key value violates unique constraint
"ins_update_test_pkey"
DETAIL: Key (x)=(1) already exists.
Major Features: Postgres 9.5 9 / 40
INSERT … ON CONFLICT Example
INSERT INTO ins_update_test VALUES (1)
ON CONFLICT DO NOTHING;
INSERT 0 0
INSERT INTO ins_update_test VALUES (1)
ON CONFLICT (x) DO UPDATE SET x = 2;
INSERT 0 1
SELECT * FROM ins_update_test;
x
---
2
Major Features: Postgres 9.5 10 / 40
INSERT … ON CONFLICT … EXCLUDED Example
CREATE TABLE customer (cust_id INTEGER PRIMARY KEY, name TEXT);
INSERT INTO customer VALUES (100, ’Big customer’);
INSERT INTO customer VALUES (100, ’Non-paying customer’);
ERROR: duplicate key value violates unique constraint
"customer_pkey"
DETAIL: Key (cust_id)=(100) already exists.
INSERT INTO customer VALUES (100, ’Non-paying customer’)
ON CONFLICT (cust_id) DO UPDATE SET name = EXCLUDED.name;
SELECT * FROM customer;
cust_id | name
---------+---------------------
100 | Non-paying customer
Major Features: Postgres 9.5 11 / 40
INSERT … ON CONFLICT with SELECT
CREATE TABLE merge (x INTEGER PRIMARY KEY);
INSERT INTO merge VALUES (1), (3), (5);
INSERT INTO merge SELECT * FROM generate_series(1, 5);
ERROR: duplicate key value violates unique constraint
"merge_pkey"
DETAIL: Key (x)=(1) already exists
Major Features: Postgres 9.5 12 / 40
INSERT … ON CONFLICT with SELECT
INSERT INTO merge SELECT * FROM generate_series(1, 5)
ON CONFLICT DO NOTHING;
SELECT * FROM merge;
x
---
1
3
5
2
4
Major Features: Postgres 9.5 13 / 40
INSERT … ON CONFLICT … UPDATE with SELECT
CREATE TABLE merge2 (x INTEGER PRIMARY KEY, status TEXT);
INSERT INTO merge2 VALUES (1, ’old’), (3, ’old’), (5, ’old’);
INSERT INTO merge2 SELECT *, ’new’ FROM generate_series(2, 5)
ON CONFLICT (x) DO
UPDATE SET status = ’conflict’;
SELECT * FROM merge2;
x | status
---+----------
1 | old
2 | new
3 | conflict
4 | new
5 | conflict
Major Features: Postgres 9.5 14 / 40
2. Block-Range Indexes (BRIN)
◮ Tiny indexes designed for large tables
◮ Minimum/maximum values stored for a range of blocks
(default 1MB, 128 8k pages)
◮ Allows skipping large sections of the table that cannot
contain matching values
◮ Ideally for naturally-ordered tables, e.g. insert-only tables are
chronologically ordered
◮ Index is 0.003% the size of the heap
◮ Indexes are inexpensive to update
◮ Index every column at little cost
◮ Slower lookups than btree
Major Features: Postgres 9.5 15 / 40
Block-Range Indexes (BRIN) Example
CREATE TABLE brin_example AS
SELECT generate_series(1,100000000) AS id;
CREATE INDEX btree_index ON brin_example(id);
CREATE INDEX brin_index ON brin_example USING brin(id);
SELECT relname, pg_size_pretty(pg_relation_size(oid))
FROM pg_class
WHERE relname LIKE ’brin_%’ OR relname = ’btree_index’
ORDER BY relname;
relname | pg_size_pretty
--------------+----------------
brin_example | 3457 MB
btree_index | 2142 MB
brin_index | 104 kB
http://michael.otacoo.com/postgresql-2/postgres-9-5-feature-highl
Major Features: Postgres 9.5 16 / 40
3. Analytic Operations GROUPING SETS,
CUBE, and ROLLUP
◮ Allows specification of multiple GROUP BY combinations in a
single query
◮ Avoids the need for UNION ALL and recomputation
◮ Empty fields are left NULL
Major Features: Postgres 9.5 17 / 40
Employee Table
SELECT * FROM employee ORDER BY name;
name | office | department
-------+--------+------------
Jill | PHL | Marketing
Lilly | SFO | Sales
Mark | PHL | Marketing
Nancy | PHL | Sales
Sam | SFO | Sales
Tim | PHL | Shipping
Major Features: Postgres 9.5 18 / 40
GROUP BY Example
SELECT office, COUNT(*)
FROM employee
GROUP BY office;
office | count
--------+-------
SFO | 2
PHL | 4
SELECT department, COUNT(*)
FROM employee
GROUP BY department;
department | count
------------+-------
Marketing | 2
Shipping | 1
Sales | 3
Major Features: Postgres 9.5 19 / 40
GROUP BY with UNION ALL
SELECT office, NULL as department, COUNT(*)
FROM employee
GROUP BY office
UNION ALL
SELECT NULL as office, department, COUNT(*)
FROM employee
GROUP BY department
ORDER BY 1;
office | department | count
--------+------------+-------
PHL | | 4
SFO | | 2
| Marketing | 2
| Shipping | 1
| Sales | 3
Major Features: Postgres 9.5 20 / 40
GROUPING SETS Example
SELECT office, department, COUNT(*)
FROM employee
GROUP BY GROUPING SETS (office, department)
ORDER BY office, department;
office | department | count
--------+------------+-------
PHL | | 4
SFO | | 2
| Marketing | 2
| Sales | 3
| Shipping | 1
Major Features: Postgres 9.5 21 / 40
ROLLUP Example
SELECT office, department, COUNT(*)
FROM employee
GROUP BY ROLLUP (office, department)
ORDER BY office, department;
office | department | count
--------+------------+-------
PHL | Marketing | 2
PHL | Sales | 1
PHL | Shipping | 1
PHL | | 4
SFO | Sales | 2
SFO | | 2
| | 6
Major Features: Postgres 9.5 22 / 40
CUBE Example
SELECT office, department, COUNT(*)
FROM employee
GROUP BY CUBE (office, department)
ORDER BY office, department;
office | department | count
--------+------------+-------
PHL | Marketing | 2
PHL | Sales | 1
PHL | Shipping | 1
PHL | | 4
SFO | Sales | 2
SFO | | 2
| Marketing | 2
| Sales | 3
| Shipping | 1
| | 6
Major Features: Postgres 9.5 23 / 40
GROUPING SETS Equivalent of CUBE
SELECT office, department, COUNT(*)
FROM employee
GROUP BY GROUPING SETS
((office, department), office, department, ())
ORDER BY office, department;
office | department | count
--------+------------+-------
PHL | Marketing | 2
PHL | Sales | 1
PHL | Shipping | 1
PHL | | 4
SFO | Sales | 2
SFO | | 2
| Marketing | 2
| Sales | 3
| Shipping | 1
| | 6
Major Features: Postgres 9.5 24 / 40
4. Row-Level Security (RLS)
◮ Allows SELECT, INSERT, UPDATE, OR DELETE permission
control over existing rows with USING expression
◮ Also INSERT or UPDATE control over added and modified
rows with CHECK expression
◮ Expressions can contain checks for the current user,
subqueries, time comparisons, and function calls
◮ Enabled with GUC row_security, CREATE POLICY, and ALTER
TABLE … ENABLE ROW LEVEL SECURITY
Major Features: Postgres 9.5 25 / 40
Row-Level Security Example
Table Setup
SHOW row_security;
row_security
--------------
on
CREATE TABLE orders (id INTEGER, product TEXT,
entered_by TEXT);
ALTER TABLE orders ENABLE ROW LEVEL SECURITY;
CREATE POLICY orders_control ON orders FOR ALL TO PUBLIC
USING (entered_by = CURRENT_USER);
GRANT ALL ON TABLE orders TO PUBLIC;
Major Features: Postgres 9.5 26 / 40
Row-Level Security Example
User Setup
CREATE USER emp1;
CREATE USER emp2;
SET SESSION AUTHORIZATION emp1;
INSERT INTO orders VALUES (101, ’fuse’, CURRENT_USER);
SET SESSION AUTHORIZATION emp2;
INSERT INTO orders VALUES (102, ’bolt’, CURRENT_USER);
Major Features: Postgres 9.5 27 / 40
Row-Level Security Example
Testing
SET SESSION AUTHORIZATION postgres;
SELECT * FROM orders;
id | product | entered_by
-----+---------+------------
101 | fuse | emp1
102 | bolt | emp2
Major Features: Postgres 9.5 28 / 40
Row-Level Security Example
Testing
SET SESSION AUTHORIZATION emp1;
SELECT * FROM orders;
id | product | entered_by
-----+---------+------------
101 | fuse | emp1
SET SESSION AUTHORIZATION emp2;
SELECT * FROM orders;
id | product | entered_by
-----+---------+------------
102 | bolt | emp2
Major Features: Postgres 9.5 29 / 40
5. In-Memory Sorting and
Hashing Performance Improvements
◮ Allow VARCHAR(), TEXT and NUMERIC() to use the
abbreviated sorting optimization
◮ Use memcmp()as quick string equality checks before collation
comparisons
◮ Decrease the average number of hash entries per bucket from
10 to 1
◮ Pre-allocate the maximum number of hash buckets in cases
where we are likely to use multiple work_mem-sized batches
◮ Allow CREATE INDEX, REINDEX, and CLUSTER to use inlined
sorting
◮ Allow use of 128-bit accumulators for aggregate
computations
Major Features: Postgres 9.5 30 / 40
6. Multi-Core and Large Memory
Scalability Improvements
◮ Improve concurrency of shared buffer replacement
◮ Reduce the number of page locks and pins during index scans
◮ Make backend local tracking of buffer pins memory efficient
◮ Improve lock scalability on multi-socket systems
◮ Increase the number of shared buffer mapping hash table
entries from 16 to 128
◮ Allow searching for a free shared buffer to use minimal
locking
◮ Force buffer descriptors to be CPU-cache aligned (128 bytes)
◮ Reduce btree page pinning
Major Features: Postgres 9.5 31 / 40
7. Automated Management of the Number of WAL
Files
◮ New GUC variables min_wal_size and max_wal_size control
the minimum and maximum size of the pg_xlog directory
◮ Previously checkpoint_segments controlled only the
maximum directory size (previously WAL files were not
removed)
◮ Size specified in bytes, not segment files
◮ Allows use of additional WAL files only when needed
Major Features: Postgres 9.5 32 / 40
Management of WAL Files
000000000000
111111111111
000000000
111111111
000000000000
111111111111
000000
000
111111
111
00000000
0000
11111111
1111
00000000
0000
11111111
1111
000000000
111111111
000000000000
111111111111
000000000000
111111111111
000000000000
111111111111
000000000
111111111
0000000000000000
1111111111111111
0000000000000000
1111111111111111
000000000000
111111111111
111 1 1Begin 1
Rotate 2 22
2 2 2End 1
2 2 21 1
PostgreSQL Shared Buffer Cache Write−Ahead Log
Major Features: Postgres 9.5 33 / 40
8. Additional JSONB Data Manipulation Functions
and Operators
◮ Add jsonb_set(), which allows replacement of or addition
to JSONB documents
◮ Allow removal of JSONB documents using the subtraction
operator
◮ Allow merging of JSONB documents using the concatenation
(|| operator)
◮ Add function to remove null values from documents
Major Features: Postgres 9.5 34 / 40
9. Enhancements to Foreign Data Wrappers
◮ Add IMPORT FOREIGN SCHEMA to create a local table
matching the schema of a foreign table
◮ Allow foreign tables to be part of inheritance trees
◮ Allow CHECK constraints on foreign tables
◮ Add infrastructure for foreign table join pushdown
Major Features: Postgres 9.5 35 / 40
10. Allow Indexed PostGIS LIMIT
Distance Calculations without CTEs
◮ Nearest neighbor searches allow index lookups to return the
closest matches, e.g. return the 10 nearest points to a given
point
◮ Only the bounding boxes of two-dimensional objects are
indexed, e.g. polygon, circle, line
◮ Previously LIMIT could not combine bounding box index
lookups with accurate calculations
◮ Now LIMIT bounding box index filtering can recheck using
accurate distance calculations
◮ Workaround was to use a CTE with a 10x limit, then an outer
query to do accurate distance calculations
Major Features: Postgres 9.5 36 / 40
Pre-9.5 LIMIT Distance Example
WITH index_query AS (
SELECT st_distance(geom,
’SRID=3005;POINT(1011102 450541)’) AS distance,
parcel_id, address
FROM parcels
ORDER BY geom <-> ’SRID=3005;POINT(1011102 450541)’
LIMIT 100
)
SELECT *
FROM index_query
ORDER BY distance
LIMIT 10;
http://boundlessgeo.com/2011/09/indexed-nearest-neighbour-search-in-postgis/
http://shisaa.jp/postset/postgis-postgresqls-spatial-partner-part-3.html
Major Features: Postgres 9.5 37 / 40
9.5 LIMIT Distance Example
SELECT st_distance(geom,
’SRID=3005;POINT(1011102 450541)’) AS distance,
parcel_id, address
FROM parcels
ORDER BY geom <-> ’SRID=3005;POINT(1011102 450541)’
LIMIT 10
http://www.postgresonline.com/journal/archives/350-PostGIS-2.2-leveraging-power-of-PostgreSQL-9.5.html
http://postgis.net/docs/manual-dev/geometry_distance_knn.html
Major Features: Postgres 9.5 38 / 40
Additional Resources…
◮ Postgres Downloads:
◮ www.enterprisedb.com/downloads
◮ Product and Services information:
◮ info@enterprisedb.com
Major Features: Postgres 9.5 39 / 40
Conclusion
http://momjian.us/presentations https://www.flickr.com/photos/thevlue/
Major Features: Postgres 9.5 40 / 40

Contenu connexe

Tendances

Winning Performance Challenges in Oracle Multitenant
Winning Performance Challenges in Oracle MultitenantWinning Performance Challenges in Oracle Multitenant
Winning Performance Challenges in Oracle MultitenantPini Dibask
 
Oracle Database 12c Release 2 - New Features On Oracle Database Exadata Expr...
Oracle Database 12c Release 2 - New Features On Oracle Database Exadata  Expr...Oracle Database 12c Release 2 - New Features On Oracle Database Exadata  Expr...
Oracle Database 12c Release 2 - New Features On Oracle Database Exadata Expr...Alex Zaballa
 
Oracle Database 12.1.0.2 New Performance Features
Oracle Database 12.1.0.2 New Performance FeaturesOracle Database 12.1.0.2 New Performance Features
Oracle Database 12.1.0.2 New Performance FeaturesChristian Antognini
 
Winning performance challenges in oracle standard editions
Winning performance challenges in oracle standard editionsWinning performance challenges in oracle standard editions
Winning performance challenges in oracle standard editionsPini Dibask
 
Connecting Hadoop and Oracle
Connecting Hadoop and OracleConnecting Hadoop and Oracle
Connecting Hadoop and OracleTanel Poder
 
Major features postgres 11
Major features postgres 11Major features postgres 11
Major features postgres 11EDB
 
The Top 12 Features new to Oracle 12c
The Top 12 Features new to Oracle 12cThe Top 12 Features new to Oracle 12c
The Top 12 Features new to Oracle 12cDavid Yahalom
 
Oracle RAC 12c (12.1.0.2) Operational Best Practices - A result of true colla...
Oracle RAC 12c (12.1.0.2) Operational Best Practices - A result of true colla...Oracle RAC 12c (12.1.0.2) Operational Best Practices - A result of true colla...
Oracle RAC 12c (12.1.0.2) Operational Best Practices - A result of true colla...Markus Michalewicz
 
MySQL High Availability and Disaster Recovery with Continuent, a VMware company
MySQL High Availability and Disaster Recovery with Continuent, a VMware companyMySQL High Availability and Disaster Recovery with Continuent, a VMware company
MySQL High Availability and Disaster Recovery with Continuent, a VMware companyContinuent
 
Winning performance challenges in oracle multitenant
Winning performance challenges in oracle multitenantWinning performance challenges in oracle multitenant
Winning performance challenges in oracle multitenantPini Dibask
 
Crating a Robust Performance Strategy
Crating a Robust Performance StrategyCrating a Robust Performance Strategy
Crating a Robust Performance StrategyGuatemala User Group
 
Best Practices – Extreme Performance with Data Warehousing on Oracle Database
Best Practices – Extreme Performance with Data Warehousing on Oracle DatabaseBest Practices – Extreme Performance with Data Warehousing on Oracle Database
Best Practices – Extreme Performance with Data Warehousing on Oracle DatabaseEdgar Alejandro Villegas
 
Oracle 12c New Features For Better Performance
Oracle 12c New Features For Better PerformanceOracle 12c New Features For Better Performance
Oracle 12c New Features For Better PerformanceZohar Elkayam
 
Database Consolidation using Oracle Multitenant
Database Consolidation using Oracle MultitenantDatabase Consolidation using Oracle Multitenant
Database Consolidation using Oracle MultitenantPini Dibask
 
Oracle 12c and its pluggable databases
Oracle 12c and its pluggable databasesOracle 12c and its pluggable databases
Oracle 12c and its pluggable databasesGustavo Rene Antunez
 
Evolution of Performance Management: Oracle 12c adaptive optimizations - ukou...
Evolution of Performance Management: Oracle 12c adaptive optimizations - ukou...Evolution of Performance Management: Oracle 12c adaptive optimizations - ukou...
Evolution of Performance Management: Oracle 12c adaptive optimizations - ukou...Nelson Calero
 
Best Practices for Becoming an Exceptional Postgres DBA
Best Practices for Becoming an Exceptional Postgres DBA Best Practices for Becoming an Exceptional Postgres DBA
Best Practices for Becoming an Exceptional Postgres DBA EDB
 
Tanel Poder - Performance stories from Exadata Migrations
Tanel Poder - Performance stories from Exadata MigrationsTanel Poder - Performance stories from Exadata Migrations
Tanel Poder - Performance stories from Exadata MigrationsTanel Poder
 
An AMIS Overview of Oracle database 12c (12.1)
An AMIS Overview of Oracle database 12c (12.1)An AMIS Overview of Oracle database 12c (12.1)
An AMIS Overview of Oracle database 12c (12.1)Marco Gralike
 
Extreme Availability using Oracle 12c Features: Your very last system shutdown?
Extreme Availability using Oracle 12c Features: Your very last system shutdown?Extreme Availability using Oracle 12c Features: Your very last system shutdown?
Extreme Availability using Oracle 12c Features: Your very last system shutdown?Toronto-Oracle-Users-Group
 

Tendances (20)

Winning Performance Challenges in Oracle Multitenant
Winning Performance Challenges in Oracle MultitenantWinning Performance Challenges in Oracle Multitenant
Winning Performance Challenges in Oracle Multitenant
 
Oracle Database 12c Release 2 - New Features On Oracle Database Exadata Expr...
Oracle Database 12c Release 2 - New Features On Oracle Database Exadata  Expr...Oracle Database 12c Release 2 - New Features On Oracle Database Exadata  Expr...
Oracle Database 12c Release 2 - New Features On Oracle Database Exadata Expr...
 
Oracle Database 12.1.0.2 New Performance Features
Oracle Database 12.1.0.2 New Performance FeaturesOracle Database 12.1.0.2 New Performance Features
Oracle Database 12.1.0.2 New Performance Features
 
Winning performance challenges in oracle standard editions
Winning performance challenges in oracle standard editionsWinning performance challenges in oracle standard editions
Winning performance challenges in oracle standard editions
 
Connecting Hadoop and Oracle
Connecting Hadoop and OracleConnecting Hadoop and Oracle
Connecting Hadoop and Oracle
 
Major features postgres 11
Major features postgres 11Major features postgres 11
Major features postgres 11
 
The Top 12 Features new to Oracle 12c
The Top 12 Features new to Oracle 12cThe Top 12 Features new to Oracle 12c
The Top 12 Features new to Oracle 12c
 
Oracle RAC 12c (12.1.0.2) Operational Best Practices - A result of true colla...
Oracle RAC 12c (12.1.0.2) Operational Best Practices - A result of true colla...Oracle RAC 12c (12.1.0.2) Operational Best Practices - A result of true colla...
Oracle RAC 12c (12.1.0.2) Operational Best Practices - A result of true colla...
 
MySQL High Availability and Disaster Recovery with Continuent, a VMware company
MySQL High Availability and Disaster Recovery with Continuent, a VMware companyMySQL High Availability and Disaster Recovery with Continuent, a VMware company
MySQL High Availability and Disaster Recovery with Continuent, a VMware company
 
Winning performance challenges in oracle multitenant
Winning performance challenges in oracle multitenantWinning performance challenges in oracle multitenant
Winning performance challenges in oracle multitenant
 
Crating a Robust Performance Strategy
Crating a Robust Performance StrategyCrating a Robust Performance Strategy
Crating a Robust Performance Strategy
 
Best Practices – Extreme Performance with Data Warehousing on Oracle Database
Best Practices – Extreme Performance with Data Warehousing on Oracle DatabaseBest Practices – Extreme Performance with Data Warehousing on Oracle Database
Best Practices – Extreme Performance with Data Warehousing on Oracle Database
 
Oracle 12c New Features For Better Performance
Oracle 12c New Features For Better PerformanceOracle 12c New Features For Better Performance
Oracle 12c New Features For Better Performance
 
Database Consolidation using Oracle Multitenant
Database Consolidation using Oracle MultitenantDatabase Consolidation using Oracle Multitenant
Database Consolidation using Oracle Multitenant
 
Oracle 12c and its pluggable databases
Oracle 12c and its pluggable databasesOracle 12c and its pluggable databases
Oracle 12c and its pluggable databases
 
Evolution of Performance Management: Oracle 12c adaptive optimizations - ukou...
Evolution of Performance Management: Oracle 12c adaptive optimizations - ukou...Evolution of Performance Management: Oracle 12c adaptive optimizations - ukou...
Evolution of Performance Management: Oracle 12c adaptive optimizations - ukou...
 
Best Practices for Becoming an Exceptional Postgres DBA
Best Practices for Becoming an Exceptional Postgres DBA Best Practices for Becoming an Exceptional Postgres DBA
Best Practices for Becoming an Exceptional Postgres DBA
 
Tanel Poder - Performance stories from Exadata Migrations
Tanel Poder - Performance stories from Exadata MigrationsTanel Poder - Performance stories from Exadata Migrations
Tanel Poder - Performance stories from Exadata Migrations
 
An AMIS Overview of Oracle database 12c (12.1)
An AMIS Overview of Oracle database 12c (12.1)An AMIS Overview of Oracle database 12c (12.1)
An AMIS Overview of Oracle database 12c (12.1)
 
Extreme Availability using Oracle 12c Features: Your very last system shutdown?
Extreme Availability using Oracle 12c Features: Your very last system shutdown?Extreme Availability using Oracle 12c Features: Your very last system shutdown?
Extreme Availability using Oracle 12c Features: Your very last system shutdown?
 

En vedette

The Complete MariaDB Server Tutorial - Percona Live 2015
The Complete MariaDB Server Tutorial - Percona Live 2015The Complete MariaDB Server Tutorial - Percona Live 2015
The Complete MariaDB Server Tutorial - Percona Live 2015Colin Charles
 
Webinar slides: Replication Topology Changes for MySQL and MariaDB
Webinar slides: Replication Topology Changes for MySQL and MariaDBWebinar slides: Replication Topology Changes for MySQL and MariaDB
Webinar slides: Replication Topology Changes for MySQL and MariaDBSeveralnines
 
(DAT209) NEW LAUNCH! Introducing MariaDB on Amazon RDS
(DAT209) NEW LAUNCH! Introducing MariaDB on Amazon RDS(DAT209) NEW LAUNCH! Introducing MariaDB on Amazon RDS
(DAT209) NEW LAUNCH! Introducing MariaDB on Amazon RDSAmazon Web Services
 
PostgreSQL Streaming Replication Cheatsheet
PostgreSQL Streaming Replication CheatsheetPostgreSQL Streaming Replication Cheatsheet
PostgreSQL Streaming Replication CheatsheetAlexey Lesovsky
 
Performance improvements in PostgreSQL 9.5 and beyond
Performance improvements in PostgreSQL 9.5 and beyondPerformance improvements in PostgreSQL 9.5 and beyond
Performance improvements in PostgreSQL 9.5 and beyondTomas Vondra
 
Deep Dive Into How To Monitor MySQL or MariaDB Galera Cluster / Percona XtraD...
Deep Dive Into How To Monitor MySQL or MariaDB Galera Cluster / Percona XtraD...Deep Dive Into How To Monitor MySQL or MariaDB Galera Cluster / Percona XtraD...
Deep Dive Into How To Monitor MySQL or MariaDB Galera Cluster / Percona XtraD...Severalnines
 
What's new in MySQL Cluster 7.4 webinar charts
What's new in MySQL Cluster 7.4 webinar chartsWhat's new in MySQL Cluster 7.4 webinar charts
What's new in MySQL Cluster 7.4 webinar chartsAndrew Morgan
 

En vedette (8)

JSON By Example
JSON By ExampleJSON By Example
JSON By Example
 
The Complete MariaDB Server Tutorial - Percona Live 2015
The Complete MariaDB Server Tutorial - Percona Live 2015The Complete MariaDB Server Tutorial - Percona Live 2015
The Complete MariaDB Server Tutorial - Percona Live 2015
 
Webinar slides: Replication Topology Changes for MySQL and MariaDB
Webinar slides: Replication Topology Changes for MySQL and MariaDBWebinar slides: Replication Topology Changes for MySQL and MariaDB
Webinar slides: Replication Topology Changes for MySQL and MariaDB
 
(DAT209) NEW LAUNCH! Introducing MariaDB on Amazon RDS
(DAT209) NEW LAUNCH! Introducing MariaDB on Amazon RDS(DAT209) NEW LAUNCH! Introducing MariaDB on Amazon RDS
(DAT209) NEW LAUNCH! Introducing MariaDB on Amazon RDS
 
PostgreSQL Streaming Replication Cheatsheet
PostgreSQL Streaming Replication CheatsheetPostgreSQL Streaming Replication Cheatsheet
PostgreSQL Streaming Replication Cheatsheet
 
Performance improvements in PostgreSQL 9.5 and beyond
Performance improvements in PostgreSQL 9.5 and beyondPerformance improvements in PostgreSQL 9.5 and beyond
Performance improvements in PostgreSQL 9.5 and beyond
 
Deep Dive Into How To Monitor MySQL or MariaDB Galera Cluster / Percona XtraD...
Deep Dive Into How To Monitor MySQL or MariaDB Galera Cluster / Percona XtraD...Deep Dive Into How To Monitor MySQL or MariaDB Galera Cluster / Percona XtraD...
Deep Dive Into How To Monitor MySQL or MariaDB Galera Cluster / Percona XtraD...
 
What's new in MySQL Cluster 7.4 webinar charts
What's new in MySQL Cluster 7.4 webinar chartsWhat's new in MySQL Cluster 7.4 webinar charts
What's new in MySQL Cluster 7.4 webinar charts
 

Similaire à Overview of Postgres 9.5

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.4EDB
 
Sql and PL/SQL Best Practices I
Sql and PL/SQL Best Practices ISql and PL/SQL Best Practices I
Sql and PL/SQL Best Practices ICarlos Oliveira
 
Top 10 tips for Oracle performance
Top 10 tips for Oracle performanceTop 10 tips for Oracle performance
Top 10 tips for Oracle performanceGuy Harrison
 
Upcoming changes in MySQL 5.7
Upcoming changes in MySQL 5.7Upcoming changes in MySQL 5.7
Upcoming changes in MySQL 5.7Morgan Tocker
 
PostgreSQL 9.5 Features
PostgreSQL 9.5 FeaturesPostgreSQL 9.5 Features
PostgreSQL 9.5 FeaturesSaiful
 
MySQL 8.0 Released Update
MySQL 8.0 Released UpdateMySQL 8.0 Released Update
MySQL 8.0 Released UpdateKeith Hollman
 
Developers’ mDay u Banjoj Luci - Bogdan Kecman, Oracle – MySQL Server 8.0
Developers’ mDay u Banjoj Luci - Bogdan Kecman, Oracle – MySQL Server 8.0Developers’ mDay u Banjoj Luci - Bogdan Kecman, Oracle – MySQL Server 8.0
Developers’ mDay u Banjoj Luci - Bogdan Kecman, Oracle – MySQL Server 8.0mCloud
 
Developers' mDay 2017. - Bogdan Kecman Oracle
Developers' mDay 2017. - Bogdan Kecman OracleDevelopers' mDay 2017. - Bogdan Kecman Oracle
Developers' mDay 2017. - Bogdan Kecman OraclemCloud
 
Die Neuheiten in MariaDB 10.2 und MaxScale 2.1
Die Neuheiten in MariaDB 10.2 und MaxScale 2.1Die Neuheiten in MariaDB 10.2 und MaxScale 2.1
Die Neuheiten in MariaDB 10.2 und MaxScale 2.1MariaDB plc
 
PostgreSQL 9.5 - Major Features
PostgreSQL 9.5 - Major FeaturesPostgreSQL 9.5 - Major Features
PostgreSQL 9.5 - Major FeaturesInMobi Technology
 
Making Postgres Central in Your Data Center
Making Postgres Central in Your Data CenterMaking Postgres Central in Your Data Center
Making Postgres Central in Your Data CenterEDB
 
Confoo 2021 -- MySQL New Features
Confoo 2021 -- MySQL New FeaturesConfoo 2021 -- MySQL New Features
Confoo 2021 -- MySQL New FeaturesDave Stokes
 
Top 10 Oracle SQL tuning tips
Top 10 Oracle SQL tuning tipsTop 10 Oracle SQL tuning tips
Top 10 Oracle SQL tuning tipsNirav Shah
 
Oracle Database features every developer should know about
Oracle Database features every developer should know aboutOracle Database features every developer should know about
Oracle Database features every developer should know aboutgvenzl
 
Performance Enhancements In Postgre Sql 8.4
Performance Enhancements In Postgre Sql 8.4Performance Enhancements In Postgre Sql 8.4
Performance Enhancements In Postgre Sql 8.4HighLoad2009
 
Postgres 9.4 First Look
Postgres 9.4 First LookPostgres 9.4 First Look
Postgres 9.4 First LookRobert Treat
 
MySQL 5.7 Tutorial Dutch PHP Conference 2015
MySQL 5.7 Tutorial Dutch PHP Conference 2015MySQL 5.7 Tutorial Dutch PHP Conference 2015
MySQL 5.7 Tutorial Dutch PHP Conference 2015Dave Stokes
 

Similaire à Overview of Postgres 9.5 (20)

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
 
Sql and PL/SQL Best Practices I
Sql and PL/SQL Best Practices ISql and PL/SQL Best Practices I
Sql and PL/SQL Best Practices I
 
Top 10 tips for Oracle performance
Top 10 tips for Oracle performanceTop 10 tips for Oracle performance
Top 10 tips for Oracle performance
 
Upcoming changes in MySQL 5.7
Upcoming changes in MySQL 5.7Upcoming changes in MySQL 5.7
Upcoming changes in MySQL 5.7
 
PostgreSQL 9.5 Features
PostgreSQL 9.5 FeaturesPostgreSQL 9.5 Features
PostgreSQL 9.5 Features
 
Pro PostgreSQL
Pro PostgreSQLPro PostgreSQL
Pro PostgreSQL
 
MySQL 8.0 Released Update
MySQL 8.0 Released UpdateMySQL 8.0 Released Update
MySQL 8.0 Released Update
 
Developers’ mDay u Banjoj Luci - Bogdan Kecman, Oracle – MySQL Server 8.0
Developers’ mDay u Banjoj Luci - Bogdan Kecman, Oracle – MySQL Server 8.0Developers’ mDay u Banjoj Luci - Bogdan Kecman, Oracle – MySQL Server 8.0
Developers’ mDay u Banjoj Luci - Bogdan Kecman, Oracle – MySQL Server 8.0
 
Developers' mDay 2017. - Bogdan Kecman Oracle
Developers' mDay 2017. - Bogdan Kecman OracleDevelopers' mDay 2017. - Bogdan Kecman Oracle
Developers' mDay 2017. - Bogdan Kecman Oracle
 
Die Neuheiten in MariaDB 10.2 und MaxScale 2.1
Die Neuheiten in MariaDB 10.2 und MaxScale 2.1Die Neuheiten in MariaDB 10.2 und MaxScale 2.1
Die Neuheiten in MariaDB 10.2 und MaxScale 2.1
 
PostgreSQL 9.5 - Major Features
PostgreSQL 9.5 - Major FeaturesPostgreSQL 9.5 - Major Features
PostgreSQL 9.5 - Major Features
 
Making Postgres Central in Your Data Center
Making Postgres Central in Your Data CenterMaking Postgres Central in Your Data Center
Making Postgres Central in Your Data Center
 
Confoo 2021 -- MySQL New Features
Confoo 2021 -- MySQL New FeaturesConfoo 2021 -- MySQL New Features
Confoo 2021 -- MySQL New Features
 
Top 10 Oracle SQL tuning tips
Top 10 Oracle SQL tuning tipsTop 10 Oracle SQL tuning tips
Top 10 Oracle SQL tuning tips
 
Oracle Database features every developer should know about
Oracle Database features every developer should know aboutOracle Database features every developer should know about
Oracle Database features every developer should know about
 
MySQL 8.0.1 DMR
MySQL 8.0.1 DMRMySQL 8.0.1 DMR
MySQL 8.0.1 DMR
 
Oracle SQL Tuning
Oracle SQL TuningOracle SQL Tuning
Oracle SQL Tuning
 
Performance Enhancements In Postgre Sql 8.4
Performance Enhancements In Postgre Sql 8.4Performance Enhancements In Postgre Sql 8.4
Performance Enhancements In Postgre Sql 8.4
 
Postgres 9.4 First Look
Postgres 9.4 First LookPostgres 9.4 First Look
Postgres 9.4 First Look
 
MySQL 5.7 Tutorial Dutch PHP Conference 2015
MySQL 5.7 Tutorial Dutch PHP Conference 2015MySQL 5.7 Tutorial Dutch PHP Conference 2015
MySQL 5.7 Tutorial Dutch PHP Conference 2015
 

Plus de EDB

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 DBaaSEDB
 
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 UnternehmenEDB
 
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 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, 2021EDB
 
Benchmarking Cloud Native PostgreSQL
Benchmarking Cloud Native PostgreSQLBenchmarking Cloud Native PostgreSQL
Benchmarking Cloud Native PostgreSQLEDB
 
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 PostgreSQLEDB
 
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 PostgreSQLEDB
 
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
 
Data Analysis with TensorFlow in PostgreSQL
Data Analysis with TensorFlow in PostgreSQLData Analysis with TensorFlow in PostgreSQL
Data Analysis with TensorFlow in PostgreSQLEDB
 
Practical Partitioning in Production with Postgres
Practical Partitioning in Production with PostgresPractical Partitioning in Production with Postgres
Practical Partitioning in Production with PostgresEDB
 
A Deeper Dive into EXPLAIN
A Deeper Dive into EXPLAINA Deeper Dive into EXPLAIN
A Deeper Dive into EXPLAINEDB
 
IOT with PostgreSQL
IOT with PostgreSQLIOT with PostgreSQL
IOT with PostgreSQLEDB
 
A Journey from Oracle to PostgreSQL
A Journey from Oracle to PostgreSQLA Journey from Oracle to PostgreSQL
A Journey from Oracle to PostgreSQLEDB
 
Psql is awesome!
Psql is awesome!Psql is awesome!
Psql is awesome!EDB
 
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 - APJEDB
 
Comment sauvegarder correctement vos données
Comment sauvegarder correctement vos donnéesComment sauvegarder correctement vos données
Comment sauvegarder correctement vos donnéesEDB
 
Cloud Native PostgreSQL - Italiano
Cloud Native PostgreSQL - ItalianoCloud Native PostgreSQL - Italiano
Cloud Native PostgreSQL - ItalianoEDB
 
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 13EDB
 
Best Practices in Security with PostgreSQL
Best Practices in Security with PostgreSQLBest Practices in Security with PostgreSQL
Best Practices in Security with PostgreSQLEDB
 
Cloud Native PostgreSQL - APJ
Cloud Native PostgreSQL - APJCloud Native PostgreSQL - APJ
Cloud Native PostgreSQL - APJEDB
 

Plus de 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
 

Dernier

Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfryanfarris8
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfproinshot.com
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is insideshinachiaurasa2
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfkalichargn70th171
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verifiedDelhi Call girls
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...Nitya salvi
 

Dernier (20)

Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 

Overview of Postgres 9.5

  • 1. Major Features: Postgres 9.5 BRUCE MOMJIAN POSTGRESQL is an open-source, full-featured relational database. This presentation gives an overview of the Postgres 9.5 release. Creative Commons Attribution License http://momjian.us/presentations Last updated: November, 2015 1 / 40
  • 2. PostgreSQL the database… ◮ Open Source Object Relational DBMS since 1996 ◮ Distributed under the PostgreSQL License ◮ Similar technical heritage as Oracle, SQL Server & DB2 ◮ However, a strong adherence to standards (ANSI-SQL 2008) ◮ Highly extensible and adaptable design ◮ Languages, indexing, data types, etc. ◮ E.g. PostGIS, JSONB, SQL/MED ◮ Extensive use throughout the world for applications and organizations of all types ◮ Bundled into Red Hat Enterprise Linux, Ubuntu, CentOS and Amazon Linux Major Features: Postgres 9.5 2 / 40
  • 3. PostgreSQL the community… ◮ Independent community led by a Core Team of six ◮ Large, active and vibrant community ◮ www.postgresql.org ◮ Downloads, Mailing lists, Documentation ◮ Sponsors sampler: ◮ Google, Red Hat, VMWare, Skype, Salesforce, HP and EnterpriseDB ◮ http://www.postgresql.org/community/ Major Features: Postgres 9.5 3 / 40
  • 4. EnterpriseDB the company… ◮ Worldwide leader of Postgres based products and services founded in 2004 ◮ Customers include 63 of the Fortune 500 and 137 of the Forbes Global 2000 ◮ 2,700 customers range across many industries including financial, healthcare, government, retail, telcommunications, and insurance ◮ Enterprise offerings: ◮ PostgreSQL Support, Services and Training ◮ Postgres Plus Advanced Server with Oracle Compatibility ◮ Tools for Monitoring, Replication, HA, Backup & Recovery Community ◮ Citizenship ◮ Contributor of key features: Materialized Views, JSON, & more ◮ Nine community members on staff Major Features: Postgres 9.5 4 / 40
  • 5. EnterpriseDB the company… Major Features: Postgres 9.5 5 / 40
  • 6. EnterpriseDB Is a Leader The Gartner report, Magic Quadrant for Operational Database Management Systems, by Donald Feinberg, Merv Adrian, Nick Heudecker, Adam Ronthal, and Terilyn Palanca was published October 12, 2015. Major Features: Postgres 9.5 6 / 40
  • 7. 9.5 Feature Outline 1. INSERT … ON CONFLICT, also known as “UPSERT” 2. Block-Range Indexes (BRIN) which enable compact indexing of very large tables 3. Analytic operations GROUPING SETS, CUBE, and ROLLUP 4. Row-Level Security (RLS) 5. In-memory sorting and hashing performance improvements 6. Multi-core and large memory scalability improvements 7. Automated management of the number of WAL files 8. Additional JSONB data manipulation functions and operators 9. Enhancements to Foreign Data Wrappers 10. Allow Indexed PostGIS LIMIT distance calculations without CTEs To be released in 2015, full item list at http://www.postgresql.org/docs/devel/static/release-9-5.html Major Features: Postgres 9.5 7 / 40
  • 8. 1. INSERT … ON CONFLICT ◮ Turns a conflicting INSERT into an UPDATE ◮ Works for VALUES and SELECT as a row source ◮ Handles concurrent operations without errors ◮ Is row-oriented, unlike MERGE, which is batch-oriented ◮ Does not have the problems associated with the UPSERT/MERGE implementations of other vendors (http://www.pgcon.org/2014/schedule/attachments/327_upsert_weird.pdf) Major Features: Postgres 9.5 8 / 40
  • 9. INSERT … ON CONFLICT Example CREATE TABLE ins_update_test (x INTEGER PRIMARY KEY); INSERT INTO ins_update_test VALUES (1); INSERT INTO ins_update_test VALUES (1); ERROR: duplicate key value violates unique constraint "ins_update_test_pkey" DETAIL: Key (x)=(1) already exists. Major Features: Postgres 9.5 9 / 40
  • 10. INSERT … ON CONFLICT Example INSERT INTO ins_update_test VALUES (1) ON CONFLICT DO NOTHING; INSERT 0 0 INSERT INTO ins_update_test VALUES (1) ON CONFLICT (x) DO UPDATE SET x = 2; INSERT 0 1 SELECT * FROM ins_update_test; x --- 2 Major Features: Postgres 9.5 10 / 40
  • 11. INSERT … ON CONFLICT … EXCLUDED Example CREATE TABLE customer (cust_id INTEGER PRIMARY KEY, name TEXT); INSERT INTO customer VALUES (100, ’Big customer’); INSERT INTO customer VALUES (100, ’Non-paying customer’); ERROR: duplicate key value violates unique constraint "customer_pkey" DETAIL: Key (cust_id)=(100) already exists. INSERT INTO customer VALUES (100, ’Non-paying customer’) ON CONFLICT (cust_id) DO UPDATE SET name = EXCLUDED.name; SELECT * FROM customer; cust_id | name ---------+--------------------- 100 | Non-paying customer Major Features: Postgres 9.5 11 / 40
  • 12. INSERT … ON CONFLICT with SELECT CREATE TABLE merge (x INTEGER PRIMARY KEY); INSERT INTO merge VALUES (1), (3), (5); INSERT INTO merge SELECT * FROM generate_series(1, 5); ERROR: duplicate key value violates unique constraint "merge_pkey" DETAIL: Key (x)=(1) already exists Major Features: Postgres 9.5 12 / 40
  • 13. INSERT … ON CONFLICT with SELECT INSERT INTO merge SELECT * FROM generate_series(1, 5) ON CONFLICT DO NOTHING; SELECT * FROM merge; x --- 1 3 5 2 4 Major Features: Postgres 9.5 13 / 40
  • 14. INSERT … ON CONFLICT … UPDATE with SELECT CREATE TABLE merge2 (x INTEGER PRIMARY KEY, status TEXT); INSERT INTO merge2 VALUES (1, ’old’), (3, ’old’), (5, ’old’); INSERT INTO merge2 SELECT *, ’new’ FROM generate_series(2, 5) ON CONFLICT (x) DO UPDATE SET status = ’conflict’; SELECT * FROM merge2; x | status ---+---------- 1 | old 2 | new 3 | conflict 4 | new 5 | conflict Major Features: Postgres 9.5 14 / 40
  • 15. 2. Block-Range Indexes (BRIN) ◮ Tiny indexes designed for large tables ◮ Minimum/maximum values stored for a range of blocks (default 1MB, 128 8k pages) ◮ Allows skipping large sections of the table that cannot contain matching values ◮ Ideally for naturally-ordered tables, e.g. insert-only tables are chronologically ordered ◮ Index is 0.003% the size of the heap ◮ Indexes are inexpensive to update ◮ Index every column at little cost ◮ Slower lookups than btree Major Features: Postgres 9.5 15 / 40
  • 16. Block-Range Indexes (BRIN) Example CREATE TABLE brin_example AS SELECT generate_series(1,100000000) AS id; CREATE INDEX btree_index ON brin_example(id); CREATE INDEX brin_index ON brin_example USING brin(id); SELECT relname, pg_size_pretty(pg_relation_size(oid)) FROM pg_class WHERE relname LIKE ’brin_%’ OR relname = ’btree_index’ ORDER BY relname; relname | pg_size_pretty --------------+---------------- brin_example | 3457 MB btree_index | 2142 MB brin_index | 104 kB http://michael.otacoo.com/postgresql-2/postgres-9-5-feature-highl Major Features: Postgres 9.5 16 / 40
  • 17. 3. Analytic Operations GROUPING SETS, CUBE, and ROLLUP ◮ Allows specification of multiple GROUP BY combinations in a single query ◮ Avoids the need for UNION ALL and recomputation ◮ Empty fields are left NULL Major Features: Postgres 9.5 17 / 40
  • 18. Employee Table SELECT * FROM employee ORDER BY name; name | office | department -------+--------+------------ Jill | PHL | Marketing Lilly | SFO | Sales Mark | PHL | Marketing Nancy | PHL | Sales Sam | SFO | Sales Tim | PHL | Shipping Major Features: Postgres 9.5 18 / 40
  • 19. GROUP BY Example SELECT office, COUNT(*) FROM employee GROUP BY office; office | count --------+------- SFO | 2 PHL | 4 SELECT department, COUNT(*) FROM employee GROUP BY department; department | count ------------+------- Marketing | 2 Shipping | 1 Sales | 3 Major Features: Postgres 9.5 19 / 40
  • 20. GROUP BY with UNION ALL SELECT office, NULL as department, COUNT(*) FROM employee GROUP BY office UNION ALL SELECT NULL as office, department, COUNT(*) FROM employee GROUP BY department ORDER BY 1; office | department | count --------+------------+------- PHL | | 4 SFO | | 2 | Marketing | 2 | Shipping | 1 | Sales | 3 Major Features: Postgres 9.5 20 / 40
  • 21. GROUPING SETS Example SELECT office, department, COUNT(*) FROM employee GROUP BY GROUPING SETS (office, department) ORDER BY office, department; office | department | count --------+------------+------- PHL | | 4 SFO | | 2 | Marketing | 2 | Sales | 3 | Shipping | 1 Major Features: Postgres 9.5 21 / 40
  • 22. ROLLUP Example SELECT office, department, COUNT(*) FROM employee GROUP BY ROLLUP (office, department) ORDER BY office, department; office | department | count --------+------------+------- PHL | Marketing | 2 PHL | Sales | 1 PHL | Shipping | 1 PHL | | 4 SFO | Sales | 2 SFO | | 2 | | 6 Major Features: Postgres 9.5 22 / 40
  • 23. CUBE Example SELECT office, department, COUNT(*) FROM employee GROUP BY CUBE (office, department) ORDER BY office, department; office | department | count --------+------------+------- PHL | Marketing | 2 PHL | Sales | 1 PHL | Shipping | 1 PHL | | 4 SFO | Sales | 2 SFO | | 2 | Marketing | 2 | Sales | 3 | Shipping | 1 | | 6 Major Features: Postgres 9.5 23 / 40
  • 24. GROUPING SETS Equivalent of CUBE SELECT office, department, COUNT(*) FROM employee GROUP BY GROUPING SETS ((office, department), office, department, ()) ORDER BY office, department; office | department | count --------+------------+------- PHL | Marketing | 2 PHL | Sales | 1 PHL | Shipping | 1 PHL | | 4 SFO | Sales | 2 SFO | | 2 | Marketing | 2 | Sales | 3 | Shipping | 1 | | 6 Major Features: Postgres 9.5 24 / 40
  • 25. 4. Row-Level Security (RLS) ◮ Allows SELECT, INSERT, UPDATE, OR DELETE permission control over existing rows with USING expression ◮ Also INSERT or UPDATE control over added and modified rows with CHECK expression ◮ Expressions can contain checks for the current user, subqueries, time comparisons, and function calls ◮ Enabled with GUC row_security, CREATE POLICY, and ALTER TABLE … ENABLE ROW LEVEL SECURITY Major Features: Postgres 9.5 25 / 40
  • 26. Row-Level Security Example Table Setup SHOW row_security; row_security -------------- on CREATE TABLE orders (id INTEGER, product TEXT, entered_by TEXT); ALTER TABLE orders ENABLE ROW LEVEL SECURITY; CREATE POLICY orders_control ON orders FOR ALL TO PUBLIC USING (entered_by = CURRENT_USER); GRANT ALL ON TABLE orders TO PUBLIC; Major Features: Postgres 9.5 26 / 40
  • 27. Row-Level Security Example User Setup CREATE USER emp1; CREATE USER emp2; SET SESSION AUTHORIZATION emp1; INSERT INTO orders VALUES (101, ’fuse’, CURRENT_USER); SET SESSION AUTHORIZATION emp2; INSERT INTO orders VALUES (102, ’bolt’, CURRENT_USER); Major Features: Postgres 9.5 27 / 40
  • 28. Row-Level Security Example Testing SET SESSION AUTHORIZATION postgres; SELECT * FROM orders; id | product | entered_by -----+---------+------------ 101 | fuse | emp1 102 | bolt | emp2 Major Features: Postgres 9.5 28 / 40
  • 29. Row-Level Security Example Testing SET SESSION AUTHORIZATION emp1; SELECT * FROM orders; id | product | entered_by -----+---------+------------ 101 | fuse | emp1 SET SESSION AUTHORIZATION emp2; SELECT * FROM orders; id | product | entered_by -----+---------+------------ 102 | bolt | emp2 Major Features: Postgres 9.5 29 / 40
  • 30. 5. In-Memory Sorting and Hashing Performance Improvements ◮ Allow VARCHAR(), TEXT and NUMERIC() to use the abbreviated sorting optimization ◮ Use memcmp()as quick string equality checks before collation comparisons ◮ Decrease the average number of hash entries per bucket from 10 to 1 ◮ Pre-allocate the maximum number of hash buckets in cases where we are likely to use multiple work_mem-sized batches ◮ Allow CREATE INDEX, REINDEX, and CLUSTER to use inlined sorting ◮ Allow use of 128-bit accumulators for aggregate computations Major Features: Postgres 9.5 30 / 40
  • 31. 6. Multi-Core and Large Memory Scalability Improvements ◮ Improve concurrency of shared buffer replacement ◮ Reduce the number of page locks and pins during index scans ◮ Make backend local tracking of buffer pins memory efficient ◮ Improve lock scalability on multi-socket systems ◮ Increase the number of shared buffer mapping hash table entries from 16 to 128 ◮ Allow searching for a free shared buffer to use minimal locking ◮ Force buffer descriptors to be CPU-cache aligned (128 bytes) ◮ Reduce btree page pinning Major Features: Postgres 9.5 31 / 40
  • 32. 7. Automated Management of the Number of WAL Files ◮ New GUC variables min_wal_size and max_wal_size control the minimum and maximum size of the pg_xlog directory ◮ Previously checkpoint_segments controlled only the maximum directory size (previously WAL files were not removed) ◮ Size specified in bytes, not segment files ◮ Allows use of additional WAL files only when needed Major Features: Postgres 9.5 32 / 40
  • 33. Management of WAL Files 000000000000 111111111111 000000000 111111111 000000000000 111111111111 000000 000 111111 111 00000000 0000 11111111 1111 00000000 0000 11111111 1111 000000000 111111111 000000000000 111111111111 000000000000 111111111111 000000000000 111111111111 000000000 111111111 0000000000000000 1111111111111111 0000000000000000 1111111111111111 000000000000 111111111111 111 1 1Begin 1 Rotate 2 22 2 2 2End 1 2 2 21 1 PostgreSQL Shared Buffer Cache Write−Ahead Log Major Features: Postgres 9.5 33 / 40
  • 34. 8. Additional JSONB Data Manipulation Functions and Operators ◮ Add jsonb_set(), which allows replacement of or addition to JSONB documents ◮ Allow removal of JSONB documents using the subtraction operator ◮ Allow merging of JSONB documents using the concatenation (|| operator) ◮ Add function to remove null values from documents Major Features: Postgres 9.5 34 / 40
  • 35. 9. Enhancements to Foreign Data Wrappers ◮ Add IMPORT FOREIGN SCHEMA to create a local table matching the schema of a foreign table ◮ Allow foreign tables to be part of inheritance trees ◮ Allow CHECK constraints on foreign tables ◮ Add infrastructure for foreign table join pushdown Major Features: Postgres 9.5 35 / 40
  • 36. 10. Allow Indexed PostGIS LIMIT Distance Calculations without CTEs ◮ Nearest neighbor searches allow index lookups to return the closest matches, e.g. return the 10 nearest points to a given point ◮ Only the bounding boxes of two-dimensional objects are indexed, e.g. polygon, circle, line ◮ Previously LIMIT could not combine bounding box index lookups with accurate calculations ◮ Now LIMIT bounding box index filtering can recheck using accurate distance calculations ◮ Workaround was to use a CTE with a 10x limit, then an outer query to do accurate distance calculations Major Features: Postgres 9.5 36 / 40
  • 37. Pre-9.5 LIMIT Distance Example WITH index_query AS ( SELECT st_distance(geom, ’SRID=3005;POINT(1011102 450541)’) AS distance, parcel_id, address FROM parcels ORDER BY geom <-> ’SRID=3005;POINT(1011102 450541)’ LIMIT 100 ) SELECT * FROM index_query ORDER BY distance LIMIT 10; http://boundlessgeo.com/2011/09/indexed-nearest-neighbour-search-in-postgis/ http://shisaa.jp/postset/postgis-postgresqls-spatial-partner-part-3.html Major Features: Postgres 9.5 37 / 40
  • 38. 9.5 LIMIT Distance Example SELECT st_distance(geom, ’SRID=3005;POINT(1011102 450541)’) AS distance, parcel_id, address FROM parcels ORDER BY geom <-> ’SRID=3005;POINT(1011102 450541)’ LIMIT 10 http://www.postgresonline.com/journal/archives/350-PostGIS-2.2-leveraging-power-of-PostgreSQL-9.5.html http://postgis.net/docs/manual-dev/geometry_distance_knn.html Major Features: Postgres 9.5 38 / 40
  • 39. Additional Resources… ◮ Postgres Downloads: ◮ www.enterprisedb.com/downloads ◮ Product and Services information: ◮ info@enterprisedb.com Major Features: Postgres 9.5 39 / 40