postgresql-9.6 (9.6.24-8.pgdg20.04+1) focal-pgdg; urgency=medium

  * Rebuild for focal-pgdg.
  * Changes applied by generate-pgdg-source:
    + Moving lib packages to component 9.6.
    + Remove tzdata-legacy from build and test dependencies.
    + Using debhelper 12.

 -- PostgreSQL on Debian and Ubuntu <pgsql-pkg-debian@lists.postgresql.org>  Sun, 28 Jul 2024 17:20:56 +0000

postgresql-9.6 (9.6.24-8) unstable; urgency=medium

  * B-D on python3-setuptools, we need distutils.
  * Cherry-pick 400928b83 from master to fix xml build.

 -- Christoph Berg <myon@debian.org>  Sun, 28 Jul 2024 17:20:56 +0000

postgresql-9.6 (9.6.24-7) unstable; urgency=medium

  [ Michael Banck ]
  * Backport fix for OpenSSL-3.2 from 12+.

  [ Christoph Berg ]
  * Fix doc install when postgresql-client-common is not present.

 -- Christoph Berg <myon@debian.org>  Fri, 24 May 2024 21:41:37 +0200

postgresql-9.6 (9.6.24-6) unstable; urgency=medium

  * Add Build-Profile nopython.

 -- Christoph Berg <myon@debian.org>  Fri, 26 Apr 2024 15:28:43 +0000

postgresql-9.6 (9.6.24-5) unstable; urgency=medium

  * Fix update-alternatives when doc package is installed stand-alone.
  * Test-Depend on tzdata-legacy | tzdata (<< 2023c-8).

 -- Christoph Berg <myon@debian.org>  Thu, 10 Aug 2023 22:24:40 +0200

postgresql-9.6 (9.6.24-4) unstable; urgency=medium

  * Fix plpython3 for Python 3.11 (upstream 4339e10f).

 -- Christoph Berg <myon@debian.org>  Mon, 20 Feb 2023 17:20:14 +0100

postgresql-9.6 (9.6.24-3) unstable; urgency=medium

  * Fix pl/perl test case so it will still work under Perl 5.36.

 -- Christoph Berg <myon@debian.org>  Tue, 01 Nov 2022 15:23:48 +0100

postgresql-9.6 (9.6.24-2) unstable; urgency=medium

  * Enable outline-atomics on arm64 (affects Ubuntu focal only).

 -- Christoph Berg <myon@debian.org>  Tue, 16 Nov 2021 11:56:37 +0100

postgresql-9.6 (9.6.24-1) unstable; urgency=medium

  * New upstream release.

    + Make the server and libpq reject extraneous data after an SSL or GSS
      encryption handshake (Tom Lane)

      A man-in-the-middle with the ability to inject data into the TCP
      connection could stuff some cleartext data into the start of a
      supposedly encryption-protected database session.

      This could be abused to send faked SQL commands to the server, although
      that would only work if the server did not demand any authentication
      data.  (However, a server relying on SSL certificate authentication
      might well not do so.) (CVE-2021-23214)

      This could probably be abused to inject faked responses to the client's
      first few queries, although other details of libpq's behavior make that
      harder than it sounds.  A different line of attack is to exfiltrate the
      client's password, or other sensitive data that might be sent early in
      the session.  That has been shown to be possible with a server
      vulnerable to CVE-2021-23214. (CVE-2021-23222)

      The PostgreSQL Project thanks Jacob Champion for reporting these
      problems.

  * configure.in: Remove check for autoconf 2.69.

 -- Christoph Berg <myon@debian.org>  Wed, 29 Sep 2021 10:52:59 +0200

postgresql-9.6 (9.6.23-1) unstable; urgency=medium

  * New upstream version.

    + Disallow SSL renegotiation more completely (Michael Paquier)

      SSL renegotiation has been disabled for some time, but the server would
      still cooperate with a client-initiated renegotiation request. A
      maliciously crafted renegotiation request could result in a server crash
      (see OpenSSL issue CVE-2021-3449).  Disable the feature altogether on
      OpenSSL versions that permit doing so, which are 1.1.0h and newer.

 -- Christoph Berg <myon@debian.org>  Tue, 10 Aug 2021 13:55:07 +0200

postgresql-9.6 (9.6.22-1) unstable; urgency=medium

  * New upstream version.

    + Prevent integer overflows in array subscripting calculations (Tom Lane)

      The array code previously did not complain about cases where an array's
      lower bound plus length overflows an integer.  This resulted in later
      entries in the array becoming inaccessible (since their subscripts could
      not be written as integers), but more importantly it confused subsequent
      assignment operations.  This could lead to memory overwrites, with
      ensuing crashes or unwanted data modifications. (CVE-2021-32027)

    + Fix mishandling of junk columns in INSERT ... ON CONFLICT ... UPDATE
      target lists (Tom Lane)

      If the UPDATE list contains any multi-column sub-selects (which give
      rise to junk columns in addition to the results proper), the UPDATE path
      would end up storing tuples that include the values of the extra junk
      columns. That's fairly harmless in the short run, but if new columns are
      added to the table then the values would become accessible, possibly
      leading to malfunctions if they don't match the datatypes of the added
      columns.

      In addition, in versions supporting cross-partition updates, a
      cross-partition update triggered by such a case had the reverse problem:
      the junk columns were removed from the target list, typically causing an
      immediate crash due to malfunction of the multi-column sub-select
      mechanism. (CVE-2021-32028)

 -- Christoph Berg <myon@debian.org>  Wed, 12 May 2021 16:53:28 +0200

postgresql-9.6 (9.6.21-1) unstable; urgency=medium

  * New upstream version.

    + Fix CREATE INDEX CONCURRENTLY to wait for concurrent prepared
      transactions (Andrey Borodin)

      At the point where CREATE INDEX CONCURRENTLY waits for all concurrent
      transactions to complete so that it can see rows they inserted, it must
      also wait for all prepared transactions to complete, for the same
      reason.  Its failure to do so meant that rows inserted by prepared
      transactions might be omitted from the new index, causing queries
      relying on the index to miss such rows. In installations that have
      enabled prepared transactions (max_prepared_transactions > 0), it's
      recommended to reindex any concurrently-built indexes in case this
      problem occurred when they were built.

  * Modernize server package description.
  * run-testsuite: Test only this version.

 -- Christoph Berg <myon@debian.org>  Wed, 10 Feb 2021 18:13:49 +0100

postgresql-9.6 (9.6.20-1) unstable; urgency=medium

  * New upstream version.
    + Fixes timetz regression test failures. (Closes: #974063)

    + Block DECLARE CURSOR ... WITH HOLD and firing of deferred triggers
      within index expressions and materialized view queries (Noah Misch)

      This is essentially a leak in the security restricted operation sandbox
      mechanism.  An attacker having permission to create non-temporary SQL
      objects could parlay this leak to execute arbitrary SQL code as a
      superuser.

      The PostgreSQL Project thanks Etienne Stalmans for reporting this
      problem. (CVE-2020-25695)

    + Fix usage of complex connection-string parameters in pg_dump,
      pg_restore, clusterdb, reindexdb, and vacuumdb (Tom Lane)

      The -d parameter of pg_dump and pg_restore, or the --maintenance-db
      parameter of the other programs mentioned, can be a connection string
      containing multiple connection parameters rather than just a database
      name.  In cases where these programs need to initiate additional
      connections, such as parallel processing or processing of multiple
      databases, the connection string was forgotten and just the basic
      connection parameters (database name, host, port, and username) were
      used for the additional connections.  This could lead to connection
      failures if the connection string included any other essential
      information, such as non-default SSL or GSS parameters. Worse, the
      connection might succeed but not be encrypted as intended, or be
      vulnerable to man-in-the-middle attacks that the intended connection
      parameters would have prevented. (CVE-2020-25694)

    + When psql's \connect command re-uses connection parameters, ensure that
      all non-overridden parameters from a previous connection string are
      re-used (Tom Lane)

      This avoids cases where reconnection might fail due to omission of
      relevant parameters, such as non-default SSL or GSS options. Worse, the
      reconnection might succeed but not be encrypted as intended, or be
      vulnerable to man-in-the-middle attacks that the intended connection
      parameters would have prevented. This is largely the same problem as
      just cited for pg_dump et al, although psql's behavior is more complex
      since the user may intentionally override some connection parameters.
      (CVE-2020-25694)

    + Prevent psql's \gset command from modifying specially-treated variables
      (Noah Misch)

      \gset without a prefix would overwrite whatever variables the server
      told it to.  Thus, a compromised server could set specially-treated
      variables such as PROMPT1, giving the ability to execute arbitrary shell
      code in the user's session.

      The PostgreSQL Project thanks Nick Cleaton for reporting this problem.
      (CVE-2020-25696)

  * Show more log files on failure.

  * New GUC extension_destdir: Path to prepend for extension loading

    This directory is prepended to paths when loading extensions (control
    and SQL files), and to the '$libdir' directive when loading modules that
    back functions. The location is made configurable to allow build-time
    testing of extensions that do not have been installed to their proper
    location yet.
  * R³: no.

 -- Christoph Berg <myon@debian.org>  Wed, 23 Sep 2020 20:33:52 +0200

postgresql-9.6 (9.6.19-1) unstable; urgency=medium

  * New upstream version.
    + Make contrib modules' installation scripts more secure (Tom Lane)

      Attacks similar to those described in CVE-2018-1058 could be carried out
      against an extension installation script, if the attacker can create
      objects in either the extension's target schema or the schema of some
      prerequisite extension.  Since extensions often require superuser
      privilege to install, this can open a path to obtaining superuser
      privilege.  To mitigate this risk, be more careful about the search_path
      used to run an installation script; disable check_function_bodies within
      the script; and fix catalog-adjustment queries used in some contrib
      modules to ensure they are secure.  Also provide documentation to help
      third-party extension authors make their installation scripts secure.
      This is not a complete solution; extensions that depend on other
      extensions can still be at risk if installed carelessly.
      (CVE-2020-14350)

  * DH 13.

 -- Christoph Berg <myon@debian.org>  Tue, 11 Aug 2020 12:57:54 +0200

postgresql-9.6 (9.6.18-1) unstable; urgency=medium

  * New upstream version.

 -- Christoph Berg <myon@debian.org>  Wed, 13 May 2020 13:20:20 +0200

postgresql-9.6 (9.6.17-2) unstable; urgency=medium

  * Make server-dev -> client dependency versioned.
  * Mark client as "Replaces" all server-dev versions.

 -- Christoph Berg <myon@debian.org>  Thu, 20 Feb 2020 13:05:51 +0100

postgresql-9.6 (9.6.17-1) unstable; urgency=medium

  * New upstream version.
    + Add missing permissions checks for ALTER ... DEPENDS ON EXTENSION.

      Marking an object as dependent on an extension did not have any
      privilege check whatsoever.  This oversight allowed any user to mark
      routines, triggers, materialized views, or indexes as droppable by
      anyone able to drop an extension.  Require that the calling user own the
      specified object (and hence have privilege to drop it). (CVE-2020-1720)

  * Move pg_config and pgxs to postgresql-client package to be able to test
    extension packages using only their native dependencies. (Closes: #944457)
  * Set PROVE_FLAGS="--verbose".

 -- Christoph Berg <myon@debian.org>  Tue, 11 Feb 2020 12:58:45 +0100

postgresql-9.6 (9.6.16-1) unstable; urgency=medium

  * New upstream version.

 -- Christoph Berg <myon@debian.org>  Tue, 12 Nov 2019 11:44:43 +0100

postgresql-9.6 (9.6.15-2) unstable; urgency=medium

  * Disable building plpython2 by default. (Closes: #937310)
  * Install ltree_plpython2/3, previously forgotten.
  * Add debian/gitlab-ci.yml.

 -- Christoph Berg <myon@debian.org>  Wed, 09 Oct 2019 10:48:48 +0200

postgresql-9.6 (9.6.15-1) unstable; urgency=medium

  * New upstream version.

    + Fixes regression in ALTER TABLE on multiple columns. (Closes: #932247)

    + Require schema qualification to cast to a temporary type when using
      functional cast syntax (Noah Misch)

      We have long required invocations of temporary functions to explicitly
      specify the temporary schema, that is pg_temp.func_name(args). Require
      this as well for casting to temporary types using functional notation,
      for example pg_temp.type_name(arg). Otherwise it's possible to capture a
      function call using a temporary object, allowing privilege escalation in
      much the same ways that we blocked in CVE-2007-2138. (CVE-2019-10208)

  * debian/pycompat: Obsolete, remove.
  * debian/patches: Add missing patch documentation.
  * debian/*.symbols: Add Build-Depends-Package information.
  * debian/tests: Also run regression tests.
  * debian/tests/control: Add fakeroot to dependencies.

 -- Christoph Berg <myon@debian.org>  Wed, 07 Aug 2019 14:07:29 +0200

postgresql-9.6 (9.6.14-1) unstable; urgency=medium

  * New upstream version.

 -- Christoph Berg <myon@debian.org>  Tue, 18 Jun 2019 11:12:09 +0200

postgresql-9.6 (9.6.13-1) unstable; urgency=medium

  * New upstream version.
    + Prevent row-level security policies from being bypassed via selectivity
      estimators (Dean Rasheed)

      Some of the planner's selectivity estimators apply user-defined
      operators to values found in pg_statistic (e.g., most-common values).
      A leaky operator therefore can disclose some of the entries in a data
      column, even if the calling user lacks permission to read that column.
      In CVE-2017-7484 we added restrictions to forestall that, but we failed
      to consider the effects of row-level security.  A user who has SQL
      permission to read a column, but who is forbidden to see certain rows
      due to RLS policy, might still learn something about those rows'
      contents via a leaky operator.  This patch further tightens the rules,
      allowing leaky operators to be applied to statistics data only when
      there is no relevant RLS policy.  (CVE-2019-10130)

 -- Christoph Berg <myon@debian.org>  Tue, 07 May 2019 12:51:42 +0200

postgresql-9.6 (9.6.12-1) unstable; urgency=medium

  * New upstream version.
  * Drop explicit xz compression for .debs.
  * Depend on locales | locales-all. Suggested by Elrond, thanks!
    (Closes: #916655)
  * Build-Depend on tcl-dev instead of on a specific version.
  * initdb doesn't like LANG and LC_ALL to contradict, unset LANG and
    LC_CTYPE at test time. (Closes: #917764)
  * On purge, ask the user if they want to remove clusters. (Closes: #911940)

 -- Christoph Berg <christoph.berg@credativ.de>  Thu, 14 Feb 2019 15:23:49 +0100

postgresql-9.6 (9.6.11-1) unstable; urgency=medium

  * New upstream version.
  * Revert module_srcdir hack, rely on pg_buildext for reproducible PGXS
    module builds instead.
  * Enable dtrace support.
  * psql uses sensible-editor, depend on sensible-utils.
  * Add lintian overrides for plugins that link no external libraries.
  * configure: Hard-code paths to /bin/mkdir -p and /bin/tar.

 -- Christoph Berg <myon@debian.org>  Mon, 20 Aug 2018 12:26:08 +0200

postgresql-9.6 (9.6.10-1) unstable; urgency=medium

  * New upstream version.
    + Fix failure to reset libpq's state fully between connection attempts

      An unprivileged user of dblink or postgres_fdw could bypass the checks
      intended to prevent use of server-side credentials, such as a ~/.pgpass
      file owned by the operating-system user running the server.  Servers
      allowing peer authentication on local connections are particularly
      vulnerable.  Other attacks such as SQL injection into a postgres_fdw
      session are also possible. Attacking postgres_fdw in this way requires
      the ability to create a foreign server object with selected connection
      parameters, but any user with access to dblink could exploit the
      problem. In general, an attacker with the ability to select the
      connection parameters for a libpq-using application could cause
      mischief, though other plausible attack scenarios are harder to think
      of. Our thanks to Andrew Krasichkov for reporting this issue.
      (CVE-2018-10915)

    + Fix INSERT ... ON CONFLICT UPDATE through a view that isn't just SELECT
      FROM ...

      Erroneous expansion of an updatable view could lead to crashes or
      attribute ... has the wrong type errors, if the view's SELECT list
      doesn't match one-to-one with the underlying table's columns.
      Furthermore, this bug could be leveraged to allow updates of columns
      that an attacking user lacks UPDATE privilege for, if that user has
      INSERT and UPDATE privileges for some other column(s) of the table. Any
      user could also use it for disclosure of server memory. (CVE-2018-10925)

  * debian/rules: Set DEB_HOST_* via /usr/share/dpkg/architecture.mk.
  * Drop support for tcl8.5.
  * Remove version checking for libselinux1-dev, 2.1.10 is old enough now.
  * Refactor testsuite failure handling.
  * Use dh_auto_configure to correctly seed the build architecture.
  * Add new pgtypes header and symbol.
  * Filter -fdebug-prefix-map and -ffile-prefix-map in more places, and make
    PGXS modules build reproducibly.

 -- Christoph Berg <christoph.berg@credativ.de>  Tue, 07 Aug 2018 13:29:56 +0200

postgresql-9.6 (9.6.9-2) unstable; urgency=medium

  * Update libpq_pgport in Makefile.global to find libpgcommon/libpgport in
    pkglibdir.

 -- Christoph Berg <myon@debian.org>  Sat, 12 May 2018 19:58:59 +0200

postgresql-9.6 (9.6.9-1) unstable; urgency=medium

  * New upstream version.
    + Remove public execute privilege from contrib/adminpack's
      pg_logfile_rotate() function. (CVE-2018-1115)

    + Fix incorrect volatility and parallel-safety markings on a few built-in
      functions.

  * Move libpgport.a, libpgcommon.a, and libpgfeutils.a from libdir to
    pkglibdir.

 -- Christoph Berg <christoph.berg@credativ.de>  Tue, 08 May 2018 16:22:51 +0200

postgresql-9.6 (9.6.8-1) unstable; urgency=medium

  * New upstream version.

    If you run an installation in which not all users are mutually
    trusting, or if you maintain an application or extension that is
    intended for use in arbitrary situations, it is strongly recommended
    that you read the documentation changes described in the first changelog
    entry below, and take suitable steps to ensure that your installation or
    code is secure.

    Also, the changes described in the second changelog entry below may
    cause functions used in index expressions or materialized views to fail
    during auto-analyze, or when reloading from a dump.  After upgrading,
    monitor the server logs for such problems, and fix affected functions.

    + Document how to configure installations and applications to guard
      against search-path-dependent trojan-horse attacks from other users

      Using a search_path setting that includes any schemas writable by a
      hostile user enables that user to capture control of queries and then
      run arbitrary SQL code with the permissions of the attacked user.  While
      it is possible to write queries that are proof against such hijacking,
      it is notationally tedious, and it's very easy to overlook holes.
      Therefore, we now recommend configurations in which no untrusted schemas
      appear in one's search path.
      (CVE-2018-1058)

    + Avoid use of insecure search_path settings in pg_dump and other client
      programs

      pg_dump, pg_upgrade, vacuumdb and other PostgreSQL-provided applications
      were themselves vulnerable to the type of hijacking described in the
      previous changelog entry; since these applications are commonly run by
      superusers, they present particularly attractive targets.  To make them
      secure whether or not the installation as a whole has been secured,
      modify them to include only the pg_catalog schema in their search_path
      settings. Autovacuum worker processes now do the same, as well.

      In cases where user-provided functions are indirectly executed by these
      programs -- for example, user-provided functions in index expressions --
      the tighter search_path may result in errors, which will need to be
      corrected by adjusting those user-provided functions to not assume
      anything about what search path they are invoked under.  That has always
      been good practice, but now it will be necessary for correct behavior.
      (CVE-2018-1058)

 -- Christoph Berg <christoph.berg@credativ.de>  Tue, 27 Feb 2018 13:14:39 +0100

postgresql-9.6 (9.6.7-1) unstable; urgency=medium

  * New upstream version.
    + Ensure that all temporary files made by pg_upgrade are
      non-world-readable (CVE-2018-1053)

    + Change the behavior of contrib/cube's cube ~> int operator to make it
      compatible with KNN search.

      The meaning of the second argument (the dimension selector) has been
      changed to make it predictable which value is selected even when
      dealing with cubes of varying dimensionalities.

      This is an incompatible change, but since the point of the operator
      was to be used in KNN searches, it seems rather useless as-is.
      After installing this update, any expression indexes or materialized
      views using this operator will need to be reindexed/refreshed.

  * Show package version number in version().
  * Remove actual build path from Makefile.global for reproducibility.

 -- Christoph Berg <myon@debian.org>  Sat, 02 Dec 2017 21:31:24 +0100

postgresql-9.6 (9.6.6-1) unstable; urgency=medium

  * New upstream version.

    + Ensure that INSERT ... ON CONFLICT DO UPDATE checks table permissions
      and RLS policies in all cases (Dean Rasheed)

      The update path of INSERT ... ON CONFLICT DO UPDATE requires SELECT
      permission on the columns of the arbiter index, but it failed to check
      for that in the case of an arbiter specified by constraint name. In
      addition, for a table with row level security enabled, it failed to
      check updated rows against the table's SELECT policies (regardless of
      how the arbiter index was specified). (CVE-2017-15099)

    + Fix crash due to rowtype mismatch in json{b}_populate_recordset()
      (Michael Paquier, Tom Lane)

      These functions used the result rowtype specified in the FROM ... AS
      clause without checking that it matched the actual rowtype of the
      supplied tuple value.  If it didn't, that would usually result in a
      crash, though disclosure of server memory contents seems possible as
      well. (CVE-2017-15098)

    + Fix BRIN index summarization to handle concurrent table extension
      correctly (Álvaro Herrera)

      Previously, a race condition allowed some table rows to be omitted from
      the index.  It may be necessary to reindex existing BRIN indexes to
      recover from past occurrences of this problem.

  * Remove empty conf.d directory on purge, even when postgresql-common
    was already removed. (Closes: #877264)

 -- Christoph Berg <christoph.berg@credativ.de>  Wed, 08 Nov 2017 10:40:59 +0100

postgresql-9.6 (9.6.5-1) unstable; urgency=medium

  * Team upload.
  * New upstream version.

 -- Christoph Berg <christoph.berg@credativ.de>  Tue, 29 Aug 2017 12:15:37 +0200

postgresql-9.6 (9.6.4-1) unstable; urgency=medium

  * Team upload.
  * New upstream version.

    + Further restrict visibility of pg_user_mappings.umoptions, to protect
      passwords stored as user mapping options. See the release notes for
      instructions for applying the fix to existing database clusters.
      (CVE-2017-7547; extends fix for CVE-2017-7484)
    + Disallow empty passwords in all password-based authentication methods.
      (CVE-2017-7546)
    + Make lo_put() check for UPDATE privilege on the target large object.
      (CVE-2017-7548)

  * debian/rules: Unconditionally use DEB_BUILD_MAINT_OPTIONS=hardening=+all.
    The old logic is kept around for compiling on older distributions.
  * Remove long obsolete --with-krb5 and move c/ldflags to configure switches.

 -- Christoph Berg <christoph.berg@credativ.de>  Tue, 08 Aug 2017 10:05:43 +0200

postgresql-9.6 (9.6.3-4) unstable; urgency=medium

  * 69db3b0c: Fix hstore_plperlu test failure. (Closes: #865020)
  * On regression test failure, show newest three log files instead of relying
    on file age = 0 min.

 -- Christoph Berg <myon@debian.org>  Sat, 03 Jun 2017 11:37:55 +0200

postgresql-9.6 (9.6.3-3) unstable; urgency=medium

  * pg_config: Unbreak CFLAGS_SL on sparc64.

 -- Christoph Berg <myon@debian.org>  Sat, 27 May 2017 10:41:37 +0200

postgresql-9.6 (9.6.3-2) unstable; urgency=medium

  * pg_config: Set CFLAGS_SL=-fPIC on s390x. (Closes: #862948)

 -- Christoph Berg <myon@debian.org>  Sat, 27 May 2017 08:27:16 +0200

postgresql-9.6 (9.6.3-1) unstable; urgency=medium

  * Team upload.
  * New upstream version.

    + Restrict visibility of pg_user_mappings.umoptions, to protect passwords
      stored as user mapping options (CVE-2017-7486)
    + Prevent exposure of statistical information via leaky operators
      (CVE-2017-7484)
    + Restore libpq's recognition of the PGREQUIRESSL environment variable
      (CVE-2017-7485)

  * debian/rules: Add stub to enable cassert builds (disabled by default).

 -- Christoph Berg <christoph.berg@credativ.de>  Tue, 09 May 2017 13:00:11 +0200

postgresql-9.6 (9.6.2-2) unstable; urgency=medium

  * Update regression tests to avoid timezone abbreviations that were removed
    from tzdata 2017a. (Upstream d8ec6b9c8c265c2f29b1c0e0e4205895baaa326d.)

 -- Christoph Berg <myon@debian.org>  Sun, 26 Mar 2017 17:38:52 +0200

postgresql-9.6 (9.6.2-1) unstable; urgency=medium

  * Team upload.
  * New upstream version.

    + Fix a race condition that could cause indexes built with CREATE INDEX
      CONCURRENTLY to be corrupt (Pavan Deolasee, Tom Lane)

      If CREATE INDEX CONCURRENTLY was used to build an index that depends on
      a column not previously indexed, then rows inserted or updated by
      transactions that ran concurrently with the CREATE INDEX command could
      have received incorrect index entries.  If you suspect this may have
      happened, the most reliable solution is to rebuild affected indexes
      after installing this update.

  * Update watch file to use https.

 -- Christoph Berg <christoph.berg@credativ.de>  Tue, 07 Feb 2017 12:02:33 +0100

postgresql-9.6 (9.6.1-2) unstable; urgency=medium

  * Team upload.

  [ Martin Pitt ]
  * Add missing perl test dependency (for Test::More).

  [ Christoph Berg ]
  * Explicitly disable PIE on 32 architectures. Previously we were just not
    enabling it, but it's on by default now in unstable. Closes: #842752.
  * libpq-dev: Remove dependency on libssl-dev (and comerr-dev and
    krb5-multidev) to unbreak co-installation with libssl1.0-dev.

 -- Christoph Berg <christoph.berg@credativ.de>  Wed, 02 Nov 2016 11:04:52 +0100

postgresql-9.6 (9.6.1-1) unstable; urgency=medium

  * New upstream release.

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

    However, if your installation has been affected by the bugs described in
    the first two changelog entries below, then after updating you may need
    to take action to repair corrupted free space maps and/or visibility
    maps.

    + Fix WAL-logging of truncation of relation free space maps and visibility
      maps (Pavan Deolasee, Heikki Linnakangas)

      It was possible for these files to not be correctly restored during
      crash recovery, or to be written incorrectly on a standby server. Bogus
      entries in a free space map could lead to attempts to access pages that
      have been truncated away from the relation itself, typically producing
      errors like could not read block XXX: read only 0 of 8192 bytes.
      Checksum failures in the visibility map are also possible, if
      checksumming is enabled.

      Procedures for determining whether there is a problem and repairing it
      if so are discussed at
      https://wiki.postgresql.org/wiki/Free_Space_Map_Problems.

    + Fix possible data corruption when pg_upgrade rewrites a relation
      visibility map into 9.6 format (Tom Lane)

      On big-endian machines, bytes of the new visibility map were written in
      the wrong order, leading to a completely incorrect map.  On Windows, the
      old map was read using text mode, leading to incorrect results if the
      map happened to contain consecutive bytes that matched a carriage
      return/line feed sequence.  The latter error would almost always lead to
      a pg_upgrade failure due to the map file appearing to be the wrong
      length.

      If you are using a big-endian machine (many non-Intel architectures are
      big-endian) and have used pg_upgrade to upgrade from a pre-9.6 release,
      you should assume that all visibility maps are incorrect and need to be
      regenerated.  It is sufficient to truncate each relation's visibility
      map with contrib/pg_visibility's pg_truncate_visibility_map() function.
      For more information see
      https://wiki.postgresql.org/wiki/Visibility_Map_Problems.

 -- Christoph Berg <myon@debian.org>  Tue, 25 Oct 2016 12:32:34 +0200

postgresql-9.6 (9.6.0-1) unstable; urgency=medium

  * First 9.6 release.
  * Filter -fdebug-prefix-map from pg_config output. This makes the build
    reproducible; the flag would be useless anyway.
  * Drop hardening-wrapper.

 -- Christoph Berg <christoph.berg@credativ.de>  Tue, 27 Sep 2016 17:09:32 +0200

postgresql-9.6 (9.6~rc1-1) unstable; urgency=medium

  * First 9.6 release candidate.

 -- Christoph Berg <myon@debian.org>  Mon, 29 Aug 2016 23:10:22 +0200

postgresql-9.6 (9.6~beta4-1) experimental; urgency=medium

  * New upstream beta version.

 -- Christoph Berg <christoph.berg@credativ.de>  Tue, 09 Aug 2016 10:01:06 +0200

postgresql-9.6 (9.6~beta3-1) experimental; urgency=medium

  * New upstream beta version.
  * Simplify python3 rules, upstream implemented the necessary dependencies.

 -- Christoph Berg <myon@debian.org>  Tue, 19 Jul 2016 12:42:24 +0200

postgresql-9.6 (9.6~beta2-1) experimental; urgency=medium

  * New upstream beta version.
  * Run regression tests in architecture-dependant builds only.
  * Remove conditional multi-arch compilation, all supported dists are
    multi-arched now.
  * Use explicit xz compression for wheezy and precise

 -- Christoph Berg <myon@debian.org>  Mon, 20 Jun 2016 23:01:04 +0200

postgresql-9.6 (9.6~beta1-4) experimental; urgency=medium

  * Split the build process into indep and arch parts. (The manpages are still
    built in both because they are distributed over the server and doc
    packages.)

 -- Christoph Berg <christoph.berg@credativ.de>  Wed, 18 May 2016 14:01:39 +0200

postgresql-9.6 (9.6~beta1-3) experimental; urgency=medium

  * Use dh-exec to not install the sepgsql files on non-linux.
  * B-D on libsystemd-dev on linux only.

 -- Christoph Berg <christoph.berg@credativ.de>  Tue, 17 May 2016 17:51:02 +0200

postgresql-9.6 (9.6~beta1-2) experimental; urgency=medium

  * Merge back separate contrib copyright file into debian/copyright.

 -- Christoph Berg <myon@debian.org>  Fri, 13 May 2016 16:35:11 +0200

postgresql-9.6 (9.6~beta1-1) experimental; urgency=low

  * New major upstream version 9.6; packaging based on postgresql-9.5.

    Major enhancements in PostgreSQL 9.6 include:
    + Parallel sequential scans, joins and aggregates
    + Elimination of repetitive scanning of old data by autovacuum
    + Synchronous replication now allows multiple standby servers for
      increased reliability
    + Full-text search for phrases
    + Support for remote joins, sorts, and updates in postgres_fdw
    + Substantial performance improvements, especially in the area of
      improving scalability on many-CPU servers

  * Record PostgreSQL catalog version number in .deb control file and a file
    inside the .deb. Hook into preinst/postinst logic in postgresql-common 171
    to handle catalog version bumps.

 -- Christoph Berg <christoph.berg@credativ.de>  Tue, 10 May 2016 10:20:52 +0200
