From f7e9e29abb1593ce90e54df31cf7c327ef1e03cb Mon Sep 17 00:00:00 2001 From: Palle Girgensohn Date: Fri, 15 Feb 2019 11:02:22 +0000 Subject: The PostgreSQL Global Development Group has released an update to all supported versions of our database system, including 11.2, 10.7, 9.6.12, 9.5.16, and 9.4.21. This release changes the behavior in how PostgreSQL interfaces with `fsync()` and includes fixes for partitioning and over 70 other bugs that were reported over the past three months. Users should plan to apply this update at the next scheduled downtime. FreeBSD port adds OPTIONS knob to support LLVM JIT. [1] Highlight: Change in behavior with fsync() ------------------------------------------ When available in an operating system and enabled in the configuration file (which it is by default), PostgreSQL uses the kernel function `fsync()` to help ensure that data is written to a disk. In some operating systems that provide `fsync()`, when the kernel is unable to write out the data, it returns a failure and flushes the data that was supposed to be written from its data buffers. This flushing operation has an unfortunate side-effect for PostgreSQL: if PostgreSQL tries again to write the data to disk by again calling `fsync()`, `fsync()` will report back that it succeeded, but the data that PostgreSQL believed to be saved to the disk would not actually be written. This presents a possible data corruption scenario. This update modifies how PostgreSQL handles a `fsync()` failure: PostgreSQL will no longer retry calling `fsync()` but instead will panic. In this case, PostgreSQL can then replay the data from the write-ahead log (WAL) to help ensure the data is written. While this may appear to be a suboptimal solution, there are presently few alternatives and, based on reports, the problem case occurs extremely rarely. A new server parameter `data_sync_retry` has been added to manage this behavior. If you are certain that your kernel does not discard dirty data buffers in such scenarios, you can set `data_sync_retry` to `on` to restore the old behavior. Release Notes: https://www.postgresql.org/about/news/1920/ PR: 232490 [1] --- databases/postgresql96-server/Makefile | 6 +++--- databases/postgresql96-server/distinfo | 6 +++--- databases/postgresql96-server/pkg-plist-client | 1 + databases/postgresql96-server/pkg-plist-server | 1 + 4 files changed, 8 insertions(+), 6 deletions(-) (limited to 'databases/postgresql96-server') diff --git a/databases/postgresql96-server/Makefile b/databases/postgresql96-server/Makefile index ce7aeba610f8..afb7ff49bd74 100644 --- a/databases/postgresql96-server/Makefile +++ b/databases/postgresql96-server/Makefile @@ -1,8 +1,8 @@ # Created by: Marc G. Fournier # $FreeBSD$ -DISTVERSION?= 9.6.11 -PORTREVISION= 1 +DISTVERSION?= 9.6.12 +PORTREVISION= 0 PKGNAMESUFFIX?= ${PORTVERSION:R:S/.//}${COMPONENT} MAINTAINER?= pgsql@FreeBSD.org @@ -24,4 +24,4 @@ PG_UID?= 770 ICU_PATCHFILE= pg-96b4-icu-2016-10-02.diff.gz OPTIONS_DEFAULT+=ICU -.include "${.CURDIR}/../postgresql10-server/Makefile" +.include "${.CURDIR}/../postgresql11-server/Makefile" diff --git a/databases/postgresql96-server/distinfo b/databases/postgresql96-server/distinfo index 64492dad2d16..9e002a6aa53b 100644 --- a/databases/postgresql96-server/distinfo +++ b/databases/postgresql96-server/distinfo @@ -1,5 +1,5 @@ -TIMESTAMP = 1541712786 -SHA256 (postgresql/postgresql-9.6.11.tar.bz2) = 38250adc69a1e8613fb926c894cda1d01031391a03648894b9a6e13ff354a530 -SIZE (postgresql/postgresql-9.6.11.tar.bz2) = 20009048 +TIMESTAMP = 1550094963 +SHA256 (postgresql/postgresql-9.6.12.tar.bz2) = 2e8c8446ba94767bda8a26cf5a2152bf0ae68a86aaebf894132a763084579d84 +SIZE (postgresql/postgresql-9.6.12.tar.bz2) = 18759442 SHA256 (postgresql/pg-96b4-icu-2016-10-02.diff.gz) = 85f81baa0fc8f692bcf802c8645196d9e3afdef4f760cef712d940b87655486e SIZE (postgresql/pg-96b4-icu-2016-10-02.diff.gz) = 5998 diff --git a/databases/postgresql96-server/pkg-plist-client b/databases/postgresql96-server/pkg-plist-client index 4fa779f93bd1..55aba039917c 100644 --- a/databases/postgresql96-server/pkg-plist-client +++ b/databases/postgresql96-server/pkg-plist-client @@ -347,6 +347,7 @@ include/postgresql/server/optimizer/geqo_recombination.h include/postgresql/server/optimizer/geqo_selection.h include/postgresql/server/optimizer/joininfo.h include/postgresql/server/optimizer/orclauses.h +include/postgresql/server/optimizer/paramassign.h include/postgresql/server/optimizer/pathnode.h include/postgresql/server/optimizer/paths.h include/postgresql/server/optimizer/placeholder.h diff --git a/databases/postgresql96-server/pkg-plist-server b/databases/postgresql96-server/pkg-plist-server index 7ad99d8e5ae0..2b4794a21b16 100644 --- a/databases/postgresql96-server/pkg-plist-server +++ b/databases/postgresql96-server/pkg-plist-server @@ -468,6 +468,7 @@ lib/libpgcommon.a %%TZDATA%%%%DATADIR%%/timezone/Asia/Pontianak %%TZDATA%%%%DATADIR%%/timezone/Asia/Pyongyang %%TZDATA%%%%DATADIR%%/timezone/Asia/Qatar +%%TZDATA%%%%DATADIR%%/timezone/Asia/Qostanay %%TZDATA%%%%DATADIR%%/timezone/Asia/Qyzylorda %%TZDATA%%%%DATADIR%%/timezone/Asia/Rangoon %%TZDATA%%%%DATADIR%%/timezone/Asia/Riyadh -- cgit v1.2.3