2ndQuadrant is now part of EDB

Bringing together some of the world's top PostgreSQL experts.

2ndQuadrant | PostgreSQL
Mission Critical Databases
  • Contact us
  • EN
    • FR
    • IT
    • ES
    • DE
    • PT
  • Support & Services
  • Products
  • Downloads
    • Installers
      • Postgres Installer
      • 2UDA – Unified Data Analytics
    • Whitepapers
      • Business Case for PostgreSQL Support
      • Security Best Practices for PostgreSQL
    • Case Studies
      • Performance Tuning
        • BenchPrep
        • tastyworks
      • Distributed Clusters
        • ClickUp
        • European Space Agency (ESA)
        • Telefónica del Sur
        • Animal Logic
      • Database Administration
        • Agilis Systems
      • Professional Training
        • Met Office
        • London & Partners
      • Database Upgrades
        • Alfred Wegener Institute (AWI)
      • Database Migration
        • International Game Technology (IGT)
        • Healthcare Software Solutions (HSS)
        • Navionics
  • Postgres Learning Center
    • Webinars
      • Upcoming Webinars
      • Webinar Library
    • Whitepapers
      • Business Case for PostgreSQL Support
      • Security Best Practices for PostgreSQL
    • Blog
    • Training
      • Course Catalogue
    • Case Studies
      • Performance Tuning
        • BenchPrep
        • tastyworks
      • Distributed Clusters
        • ClickUp
        • European Space Agency (ESA)
        • Telefónica del Sur
        • Animal Logic
      • Database Administration
        • Agilis Systems
      • Professional Training
        • Met Office
        • London & Partners
      • Database Upgrades
        • Alfred Wegener Institute (AWI)
      • Database Migration
        • International Game Technology (IGT)
        • Healthcare Software Solutions (HSS)
        • Navionics
    • Books
      • PostgreSQL 11 Administration Cookbook
      • PostgreSQL 10 Administration Cookbook
      • PostgreSQL High Availability Cookbook – 2nd Edition
      • PostgreSQL 9 Administration Cookbook – 3rd Edition
      • PostgreSQL Server Programming Cookbook – 2nd Edition
      • PostgreSQL 9 Cookbook – Chinese Edition
    • Videos
    • Events
    • PostgreSQL
      • PostgreSQL – History
      • Who uses PostgreSQL?
      • PostgreSQL FAQ
      • PostgreSQL vs MySQL
      • The Business Case for PostgreSQL
      • Security Information
      • Documentation
  • About Us
    • About 2ndQuadrant
    • 2ndQuadrant’s Passion for PostgreSQL
    • News
    • Careers
    • Team Profile
  • Blog
  • Menu Menu
You are here: Home1 / Blog2 / 2ndQuadrant3 / Committed to the PostgreSQL Community, 2ndQuadrant Contributes to 9.6
Umair Shahid

Committed to the PostgreSQL Community, 2ndQuadrant Contributes to 9.6

September 29, 2016/3 Comments/in 2ndQuadrant, Featured, Umair's PlanetPostgreSQL /by Umair Shahid

postgres-9-6

The latest version of PostgreSQL 9.6 is planned to be released later today, bringing with it some much anticipated features and updates. As the most advanced open source database, PostgreSQL strives to release a major version roughly once every year. With an active and collaborative community, this PostgreSQL release boasts impressive features and updates thanks to contributions from many of the highly knowledgeable community members.  

The expanding team at 2ndQuadrant has continued to show dedication to the PostgreSQL database project by contributing heavily to the PostgreSQL 9.6 release. Parallel execution of large queries has been a known shortcoming of PostgreSQL for some time, but this is no longer an issue with the 9.6 release. David Rowley and Simon Riggs contributed to this effort through working on initial support for parallel execution of large queries and the capability of an aggregate function to be split into two separate parts. For example, now the parallel worker processes can cooperate on computing an aggregate function. David and Simon worked alongside Robert Haas, Amit Kapila, and many others to develop this robust feature.

Simon also contributed to the improvement of functions for very large databases by reducing interlocking on standby servers during replay of btree index vacuuming operations. Other contributions from Simon include:

  • Improved performance of short-lived prepared transactions (with Stas Kelvich and Pavan Deolasee)
  • Improved performance by moving buffer content locks into the buffer descriptors (with Andres Freund)
  • Reducing the lock strength needed by ALTER TABLE when setting fillfactor and autovacuum-related relation options (with Fabrízio de Royes Mello)
  • Raising the maximum allowed value of checkpoint_timeout to 24 hours

Tomas Vondra was another heavy contributor by contributing the following to the 9.6 release:

  • Ability to use an index-only scan with a partial index when the index’s predicate involves column(s) not stored in the index (with Kyotaro Horiguchi)
  • Improved planner’s estimate of the number of distinct values in a query result
  • Using foreign key relationships to infer selectivity for join predicates (with David Rowley)
  • Improved ANALYZE’s estimates for columns with many nulls (with Alex Shulgin)
  • Adding function pg_current_xlog_flush_location() to expose the current transaction log flush location
  • Adding log_line_prefix option %n to print the time as a Unix epoch, with milliseconds (with Jeff Davis)

Peter Eisentraut had several contributions including:

  • Adding –with-systemd configure switch to enable calling sd_notify() at server start and stop
  • Merging the archive and hot_standby values of the wal_level configuration parameter into a single value replica, adding syslog_sequence_numbers
  • syslog_split_messages configuration parameters to provide more control over message format when logging to syslog
  • Letting pg_basebackup use a replication slot defined for WAL streaming. After the base backup completes selecting the same slot for regular streaming replication allows seamless startup of the new standby server
  • Including the table name in object tags for object types that are only uniquely named per-table in pg_dump

In addition to the above, there are many additional notable contributions made by 2ndQuadrant team members:

  • Drop entries from GROUP BY if they are functionally dependent on other entries (David Rowley)
  • Improve aggregate-function performance by sharing calculations across multiple aggregates if they have the same arguments and transition functions (David Rowley)
  • Improve speed of the output functions for timestamps, times, and dates (David Rowley & Andres Freund)
  • Allowing sessions to be terminated automatically if they sit too long in an idle-in-transaction state (Vik Fearing)
  • Allowing a database object to be marked as depending on an extension, so that it will automatically go away if the extension is dropped (without needing CASCADE) (Abhijit Menon-Sen)
  • CREATE ACCESS METHOD to allow extensions to create index access methods (Petr Jelínek and Alexander Korotkov)
  • CASCADE option to CREATE EXTENSION, to automatically create extensions it depends on (Petr Jelínek)
  • Disallowing creation of indexes on system columns to avoid misbehavior since the system might change the system-column fields of a tuple without updating indexes (David Rowley)
  • Improving pg_restore’s -t switch to match all types of relations, not only plain tables (Craig Ringer)
  • Numerous minor improvements in tab-completion behavior (Peter Eisentraut, Vik Fearing, Kevin Grittner, Kyotaro Horiguchi, Jeff Janes, Andreas Karlsson, Fujii Masao, Thomas Munro, Masahiko Sawada, and Pavel Stehule)
  • Allow pg_dump to dump non-extension-owned objects that are within an extension-owned schema (Martín Marqués)
  • Improvements to TAP testing infrastructure. It is now possible to test recovery scenarios using this infrastructure (Michael Paquier, Craig Ringer, Álvaro Herrera, and Stephen Frost)
  • Introduction of a generic interface for writing WAL records to allow extensions to write WAL records (Petr Jelínek, Alexander Korotkov, and Markus Nullmeier)
  • Generic WAL messages for logical decoding support allows extensions to insert data into the WAL stream that can be read by logical-decoding plugins without connecting to physical data restoration (Petr Jelínek and Anrdres Freund)
  • Introduction of auto_explain.sample_rate parameter to allow contrib/auto_explain to capture just a configurable fraction of all queries (Craig Ringer and Julien Rouhaud)

The team at 2ndQuadrant is passionate about Open Source and PostgreSQL. To us it’s not work, but pursuit of knowledge, and drive to improve the growing database that our business is built around. This clearly shows through the continuous contributions and commitment to serving our customers and the community with integrity and cutting edge support and development.  Continuous growth and success of PostgreSQL not only benefits our customers but the community as a whole in which we belong.

Tags: 9.6, Aggregate function, AutoVacuum, cascade, community, configuration, contribution, Dev, function, open source, parallel, postgres, PostgreSQL, PostgreSQL 9.6, Service, speed, support, Vacuum, wal
Share this entry
  • Share on Facebook
  • Share on Twitter
  • Share on WhatsApp
  • Share on LinkedIn
3 replies
  1. Artemciy
    Artemciy says:
    September 30, 2016 at 1:38 pm

    Which of these are BDR related, I wonder?

    Reply
    • craig.ringer
      craig.ringer says:
      September 30, 2016 at 2:11 pm

      Relatively few, actually. Most of the BDR work went into 9.5. The main things that’re BDR-related for 9.6 are logical WAL messages (which we needed for BDR) and CREATE EXTENSION CASCADE (which is nice to have). Sequence access methods were submitted but did not get in. Same for logical decoding timeline following / failover slots.

      A lot of time in 9.6 went into the pglogical submission, which has now morphed into the v10 logical replication patch series.

      The great majority of the work listed here for 9.6 is unrelated to logical replication and BDR.

      Reply
      • Artemciy
        Artemciy says:
        October 1, 2016 at 12:11 am

        Good to know, thanks!

        Reply

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Search

Get in touch with us!

Recent Posts

  • Random Data December 3, 2020
  • Webinar: COMMIT Without Fear – The Beauty of CAMO [Follow Up] November 13, 2020
  • Full-text search since PostgreSQL 8.3 November 5, 2020
  • Random numbers November 3, 2020
  • Webinar: Best Practices for Bulk Data Loading in PostgreSQL [Follow Up] November 2, 2020

Featured External Blogs

Tomas Vondra's Blog

Our Bloggers

  • Simon Riggs
  • Alvaro Herrera
  • Andrew Dunstan
  • Craig Ringer
  • Francesco Canovai
  • Gabriele Bartolini
  • Giulio Calacoci
  • Ian Barwick
  • Marco Nenciarini
  • Mark Wong
  • Pavan Deolasee
  • Petr Jelinek
  • Shaun Thomas
  • Tomas Vondra
  • Umair Shahid

PostgreSQL Cloud

2QLovesPG 2UDA 9.6 backup Barman BDR Business Continuity community conference database DBA development devops disaster recovery greenplum Hot Standby JSON JSONB logical replication monitoring OmniDB open source Orange performance PG12 pgbarman pglogical PG Phriday postgres Postgres-BDR postgres-xl PostgreSQL PostgreSQL 9.6 PostgreSQL10 PostgreSQL11 PostgreSQL 11 PostgreSQL 11 New Features postgresql repmgr Recovery replication security sql wal webinar webinars

Support & Services

24/7 Production Support

Developer Support

Remote DBA for PostgreSQL

PostgreSQL Database Monitoring

PostgreSQL Health Check

PostgreSQL Performance Tuning

Database Security Audit

Upgrade PostgreSQL

PostgreSQL Migration Assessment

Migrate from Oracle to PostgreSQL

Products

HA Postgres Clusters

Postgres-BDR®

2ndQPostgres

pglogical

repmgr

Barman

Postgres Cloud Manager

SQL Firewall

Postgres-XL

OmniDB

Postgres Installer

2UDA

Postgres Learning Center

Introducing Postgres

Blog

Webinars

Books

Videos

Training

Case Studies

Events

About Us

About 2ndQuadrant

What does 2ndQuadrant Mean?

News

Careers 

Team Profile

© 2ndQuadrant Ltd. All rights reserved. | Privacy Policy
  • Twitter
  • LinkedIn
  • Facebook
  • Youtube
  • Mail
The PostgreSQL 9.6 release is almost here! Untangling the PostgreSQL upgrade
Scroll to top
×