## E.28. Release 9.4.3

Release date: 2015-06-04

This release contains a small number of fixes from 9.4.2. For information about new features in the 9.4 major release, see Section E.31, “Release 9.4”.

### E.28.1. Migration to Version 9.4.3

A dump/restore is not required for those running 9.4.X.

However, if you are upgrading from a version earlier than 9.4.2, see Section E.29, “Release 9.4.2”.

### E.28.2. Changes

- Avoid failures while `fsync`'ing data directory during crash restart (Abhijit Menon-Sen, Tom Lane)

  In the previous minor releases we added a patch to `fsync` everything in the data directory after a crash. Unfortunately its response to any error condition was to fail, thereby preventing the server from starting up, even when the problem was quite harmless. An example is that an unwritable file in the data directory would prevent restart on some platforms; but it is common to make SSL certificate files unwritable by the server. Revise this behavior so that permissions failures are ignored altogether, and other types of failures are logged but do not prevent continuing.

  Also apply the same rules in `initdb --sync-only`. This case is less critical but it should act similarly.

- Fix `pg_get_functiondef()` to show functions' `LEAKPROOF` property, if set (Jeevan Chalke)

- Fix `pushJsonbValue()` to unpack `jbvBinary` objects (Andrew Dunstan)

  This change does not affect any behavior in the core code as of 9.4, but it avoids a corner case for possible third-party callers.

- Remove configure's check prohibiting linking to a threaded libpython on OpenBSD (Tom Lane)

  The failure this restriction was meant to prevent seems to not be a problem anymore on current OpenBSD versions.