PostgreSQL 9.4 Beta 3 Released

Posted on 2014-10-09 by PostgreSQL Global Development Group

The PostgreSQL Global Development Group has released 9.4 Beta 3, the next beta release of the new version. This beta contains previews of all of the features which will be available in version 9.4, plus corrections for many of the issues discovered by users who tested Beta 2. Please download, test, and report what you find.

The primary change in Beta 3 is a modification of the JSONB data type format in order to make JSONB fields more compressable and reduce storage requirements. This change is not backwards-compatible, so users who loaded data into JSONB fields using 9.4 Beta 1 or Beta 2 will need to pg_dump and restore to upgrade to Beta 3.

Among the other changes made since 9.4 Beta 2 are:

  • Rename pg_recvlogical's --create/--drop to --create-slot/--drop-slot
  • Prevent unbounded delay when starting background worker
  • Remove num_xloginsert_locks GUC, replace with a #define
  • Fix pg_dump's --if-exists for large objects
  • Remove ban on zero length JSON object keys
  • Return NULL from json_object_agg if it gets no rows
  • Log ALTER SYSTEM statements as DDL
  • Fix failure of contrib/auto_explain to print per-node timing information
  • Multiple fixes for TAP checks
  • Support ALTER SYSTEM RESET command
  • Fix power_var_int() for large integer exponents
  • Fix vacuumdb --analyze-in-stages --all order
  • Change the way latency is calculated with pgbench --rate option
  • Support ALTER ... ALL IN with event triggers
  • Remove superuser-only restriction from pg_is_xlog_replay_paused()
  • Fix FOR UPDATE NOWAIT on updated tuple chains
  • Fix Var handling for security barrier views
  • Fix superuser concurrent refresh of matview owned by another
  • Don't track DEALLOCATE in pg_stat_statements
  • Fix corner-case behaviors in JSON/JSONB field extraction operators
  • Change the way pg_basebackup's tablespace mapping is implemented
  • Rework 'MOVE ALL' to 'ALTER .. ALL IN TABLESPACE'
  • Fix core dump in jsonb #> operator
  • Revert psql changes to support wrapped expanded mode
  • Expose -S option in pg_receivexlog
  • Reject duplicate column names in foreign key referenced-columns lists
  • Fix checkpointer crash
  • Many minor fixes to JSON and JSONB functionality
  • Many minor fixes to logical decoding
  • Multiple bug fixes for older issues to be included in an upcoming minor release.
  • More documentation improvements and changes

Beta 3 includes changes to pg_control and to the system catalogs. As such, users who have been testing Beta 1 or Beta 2 will need to upgrade in order to test Beta 3. We suggest using pg_upgrade for this upgrade in order to test that as well.

For a full listing of the features in version 9.4 Beta, please see the release notes. Additional descriptions and notes on the new features are available on the 9.4 Features Wiki Page.

We depend on our community to help test the next version in order to guarantee that it is high-performance and bug-free. Please download PostgreSQL 9.4 Beta 3 and try it with your workloads and applications as soon as you can, and give feedback to the PostgreSQL developers. Features and APIs in Beta 3 will not change substantially before final release, so it is now safe to start building applications against the new features. More information on how to test and report issues

Get the PostgreSQL 9.4 Beta 3, including binaries and installers for Windows, Linux and Mac from our download page.

Full documentation of the new version is available online, and also installs with PostgreSQL.