Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Postgres Gets Even More Reliability, High Availability, Several Developer-Friendly Features

Postgres Gets Even More Reliability, High Availability, Several Developer-Friendly Features

This item in japanese

PostgreSQL 9.3 comes with Fast Fail-over and streaming-only Remastering as well as many developer-focussed features such as materialized views, auto-updateable views, many features for JSON data-type and more.

After several months of being in Beta, 9.3 was finally released last week. Some of the feature highlights are as follows.

Administrative features –

Fast Failover especially is designed to improve high-availability features in Postgres. 

Developer-friendly features –

  • New Operators and functions for JSON data-type
  • Foreign Data Wrappers, a feature that allows interoperability with other databases (including non-Postgres ones) can now support inserts, updates and deletes
  • Postgres FDW – this allows accessing other Postgres servers in a more transparent, standards-compliant and performant (in most cases) way compared to the db-link module
  • Event Triggers – these are similar to normal triggers but are global to a database and can capture DDL events as well. They cannot be written in plain SQL however.
  • Materialized Views – materialized views are actual tables that are filled with results of the query provided, and refreshed on demand, rather than querying the base tables directly. There is however no facility to auto-refresh them currently. 
  • Auto-updateable views – Updateable views are views on which INSERT, UPDATE and DELETE statements are allowed. They need to follow certain rules. In 9.3, the system will automatically make a view updateable if it follows these rules.

The new version also allows Background workers written in C to be plugged into the system to run as separate processes. These processes have a lifetime closely linked to the server status. This can be useful in several scenarios.

There are lots of other improvements as well, and all of them are listed in the release notes

Rate this Article