PostgreSQL 9.4 Beta 3 Released

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.