Last commit made on 2013-04-04
Get this branch:
git clone -b ubuntu/raring https://git.launchpad.net/ubuntu/+source/postgresql-9.1
Members of Ubuntu Server Dev import team can upload to this branch. Log in for directions.

Branch merges

Branch information


Recent commits

b4baf36... by Martin Pitt on 2013-04-04

Import patches-unapplied version 9.1.9-1ubuntu1 to ubuntu/raring-proposed

Imported using git-ubuntu import.

Changelog parent: a98d961891b2e713149ed83309eb7f221f1521a9

New changelog entries:
  * Merge with Debian unstable. (LP: #1163184) Remaining Ubuntu changes:
    - debian/rules: Configure for the Tcl/Tk 8.5 multiarch installation.

a98d961... by Martin Pitt on 2013-04-02

Import patches-unapplied version 9.1.9-1 to debian/sid

Imported using git-ubuntu import.

Changelog parent: 71503c22d6ddcca4f27404a5ad4f5def1f0ca2ea

New changelog entries:
  * Urgency high because of critical remote data destruction vulnerability.
  * New upstream security/bug fix release:
    - Fix insecure parsing of server command-line switches.
      A connection request containing a database name that begins with
      "-" could be crafted to damage or destroy files within the server's
      data directory, even if the request is eventually rejected.
      [CVE-2013-1899] (Closes: #704479)
    - Reset OpenSSL randomness state in each postmaster child process.
      This avoids a scenario wherein random numbers generated by
      "contrib/pgcrypto" functions might be relatively easy for another
      database user to guess. The risk is only significant when the
      postmaster is configured with ssl = on but most connections don't
      use SSL encryption. [CVE-2013-1900]
    - Make REPLICATION privilege checks test current user not
      authenticated user.
      An unprivileged database user could exploit this mistake to call
      pg_start_backup() or pg_stop_backup(), thus possibly interfering
      with creation of routine backups. [CVE-2013-1901]
    - Fix GiST indexes to not use "fuzzy" geometric comparisons when it's
      not appropriate to do so.
      The core geometric types perform comparisons using "fuzzy"
      equality, but gist_box_same must do exact comparisons, else GiST
      indexes using it might become inconsistent. After installing this
      update, users should "REINDEX" any GiST indexes on box, polygon,
      circle, or point columns, since all of these use gist_box_same.
    - Fix erroneous range-union and penalty logic in GiST indexes that
      use "contrib/btree_gist" for variable-width data types, that is
      text, bytea, bit, and numeric columns.
      These errors could result in inconsistent indexes in which some
      keys that are present would not be found by searches, and also in
      useless index bloat. Users are advised to "REINDEX" such indexes
      after installing this update.
    - Fix bugs in GiST page splitting code for multi-column indexes.
      These errors could result in inconsistent indexes in which some
      keys that are present would not be found by searches, and also in
      indexes that are unnecessarily inefficient to search. Users are
      advised to "REINDEX" multi-column GiST indexes after installing
      this update.
    - See HISTORY/changelog.gz for details about the other bug fixes.
  * Bump Standards-Version to 3.9.4 (no changes necessary).

71503c2... by Christoph Berg on 2013-02-05

Import patches-unapplied version 9.1.8-1 to debian/sid

Imported using git-ubuntu import.

Changelog parent: 7baec73e050dd586f17454e0fb77b39175af602e

New changelog entries:
  [ Martin Pitt ]
  * Add autopkgtest, moved from postgresql-common.
  * debian/rules: Only build the error codes and the plpython subtree for the
    "python3" flavor, to cut down build time.
  * Add missing docbook build dependency. (Closes: #697618)
  [ Christoph Berg ]
  * New upstream version.
    + Prevent execution of enum_recv from SQL
      The function was misdeclared, allowing a simple SQL command to crash the
      server. In principle an attacker might be able to use it to examine the
      contents of server memory. Our thanks to Sumit Soni (via Secunia SVCRP)
      for reporting this issue. (CVE-2013-0255)

7baec73... by Martin Pitt on 2012-12-03

Import patches-unapplied version 9.1.7-1 to debian/sid

Imported using git-ubuntu import.

Changelog parent: 77a095045fc3cf9ed2788c06f4a0fc0a0f36167d

New changelog entries:
  * New upstream bug fix release. See HISTORY/changelog.gz for details.
  * Add 03-python-includedirs.patch: Detect both python3.3 include locations.
    Thanks Dmitrijs Ledkovs!

77a0950... by Martin Pitt on 2012-09-25

Import patches-unapplied version 9.1.6-1 to debian/sid

Imported using git-ubuntu import.

Changelog parent: b404f5e5ee200f4d50e8472402294e58449b7f32

New changelog entries:
  * Urgency medium because of data loss bug fix.
  * New upstream bug fix release:
    - Fix persistence marking of shared buffers during WAL replay.
      This mistake can result in buffers not being written out during
      checkpoints, resulting in data corruption if the server later
      crashes without ever having written those buffers. Corruption can
      occur on any server following crash recovery, but it is
      significantly more likely to occur on standby slave servers since
      those perform much more WAL replay. There is a low probability of
      corruption of btree and GIN indexes. There is a much higher
      probability of corruption of table "visibility maps". Fortunately,
      visibility maps are non-critical data in 9.1, so the worst
      consequence of such corruption in 9.1 installations is transient
      inefficiency of vacuuming. Table data proper cannot be corrupted by
      this bug.
      While no index corruption due to this bug is known to have occurred
      in the field, as a precautionary measure it is recommended that
      production installations "REINDEX" all btree and GIN indexes at a
      convenient time after upgrading to 9.1.6.
      Also, if you intend to do an in-place upgrade to 9.2.X, before
      doing so it is recommended to perform a "VACUUM" of all tables
      while having vacuum_freeze_table_age set to zero. This will ensure
      that any lingering wrong data in the visibility maps is corrected
      before 9.2.X can depend on it. vacuum_cost_delay can be adjusted to
      reduce the performance impact of vacuuming, while causing it to
      take longer to finish.
    - See HISTORY/changelog.gz for the other bug fixes.
  * debian/rules: Compress all binaries with xz. Thanks Cyril Brulebois!
    (Closes: #688678)

b404f5e... by Martin Pitt on 2012-08-31

Import patches-unapplied version 9.1.5-2 to debian/sid

Imported using git-ubuntu import.

Changelog parent: a44fbcdbe74eef418b36220922101b7532cf815f

New changelog entries:
  * debian/rules: Re-enable hardening functions (regression from 9.1.3-2 when
    hardening-wrapper is not installed). Use "hardening=all", but disable
    "pie" (as that's not compatible with -fPIC) and add -pie to CFLAGS
    explicitly. Also drop the explicit "-Wl,-z,now" linker option, as this is
    now implied with "all". (LP: #1039618)
  * Fix upgrades from older 9.1 releases in stable Ubuntu -updates/-security
    releasese. The strict "<< 9.1.4-2~" check for moving pg_basebackup.1.gz is
    not sufficient, as Ubuntu stables have newer upstream releases by now.
    - debian/control: Move Breaks/Replaces: from static version to
    - debian/postgresql-9.1.preinst: Also fix the alternatives when upgrading
      from a -0something version.
    - (LP: #1043449)

a44fbcd... by Martin Pitt on 2012-08-17

Import patches-unapplied version 9.1.5-1 to debian/sid

Imported using git-ubuntu import.

Changelog parent: 3146e89bcf9405e16082000bfc44122c9428a657

New changelog entries:
  * Urgency medium due to security fixes and bug fixes which should reach
    Wheezy quickly.
  * New upstream bug fix/security release:
    - Prevent access to external files/URLs via XML entity references.
      xml_parse() would attempt to fetch external files or URLs as needed
      to resolve DTD and entity references in an XML value, thus allowing
      unprivileged database users to attempt to fetch data with the
      privileges of the database server. While the external data wouldn't
      get returned directly to the user, portions of it could be exposed
      in error messages if the data didn't parse as valid XML; and in any
      case the mere ability to check existence of a file might be useful
      to an attacker. (CVE-2012-3489)
    - Prevent access to external files/URLs via "contrib/xml2"'s
      libxslt offers the ability to read and write both files and URLs
      through stylesheet commands, thus allowing unprivileged database
      users to both read and write data with the privileges of the
      database server. Disable that through proper use of libxslt's
      security options. (CVE-2012-3488)
      Also, remove xslt_process()'s ability to fetch documents and
      stylesheets from external files/URLs. While this was a documented
      "feature", it was long regarded as a bad idea. The fix for
      CVE-2012-3489 broke that capability, and rather than expend effort
      on trying to fix it, we're just going to summarily remove it.
    - Lots of other bug fixes, see HISTORY/changelog.gz.

3146e89... by Martin Pitt on 2012-07-21

Import patches-unapplied version 9.1.4-3 to debian/sid

Imported using git-ubuntu import.

Changelog parent: bbb5175e5b397f9307a7f451a98c8b6b5c6ca211

New changelog entries:
  Urgency medium: Trivial changes, and fixes RC bug.
  [ Christoph Berg ]
  * debian/source/options: Ignore test suite .sql files, to fix building
    twice in a row; ignore .bzr-builddeb/default.conf so bzr checkouts can be
    built using dpkg-buildpackage.
  [ Martin Pitt ]
  * debian/postgresql-9.1.postrm: Do not remove the directories
    /var/{lib,log}/postgresql/, they are owned by the postgresql-common
    package. (Closes: #681966)

bbb5175... by Martin Pitt on 2012-06-22

Import patches-unapplied version 9.1.4-2 to debian/sid

Imported using git-ubuntu import.

Changelog parent: 63bfad6e4b20005581ab4be4d4d524cfe8b1836f

New changelog entries:
  [ Christoph Berg ]
  * Some cosmetic changes to control and rules file.
  * Add myself to Uploaders.
  [ Martin Pitt ]
  * Move pg_basebackup *.mo files and man page to -client-9.2. Thanks to Peter
    Eisentraut for spotting this. (Closes: #674421)
  * debian/postgresql-9.1.preinst: Remove postmaster.1.gz alternative on
    upgrades to this version, so that the postinst can rebuild it. This is
    necessary to drop pg_basebackup.1.gz from the server alternatives group,
    so that it can go into the client group.
  * debian/postgresql-9.1.preinst: Drop obsolete transition code.
  * debian/rules: Set -DLINUX_OOM_ADJ in CPPFLAGS, not in CFLAGS. Thanks Peter
    Eisentraut. (Closes: #668300)

63bfad6... by Martin Pitt on 2012-06-04

Import patches-unapplied version 9.1.4-1 to debian/sid

Imported using git-ubuntu import.

Changelog parent: b1b6272f342b4f7ceb1dfa7e3b023d4f3c2e7e0b

New changelog entries:
  * Urgency medium due to security fixes.
  * New upstream bug fix/security release:
    - Fix incorrect password transformation in "contrib/pgcrypto"'s DES
      crypt() function.
      If a password string contained the byte value 0x80, the remainder
      of the password was ignored, causing the password to be much weaker
      than it appeared. With this fix, the rest of the string is properly
      included in the DES hash. Any stored password values that are
      affected by this bug will thus no longer match, so the stored
      values may need to be updated. (CVE-2012-2143)
    - Ignore SECURITY DEFINER and SET attributes for a procedural
      language's call handler. Applying such attributes to a call handler
      could crash the server. (CVE-2012-2655)
    - Make "contrib/citext"'s upgrade script fix collations of citext
      arrays and domains over citext.
      Release 9.1.2 provided a fix for collations of citext columns and
      indexes in databases upgraded or reloaded from pre-9.1
      installations, but that fix was incomplete: it neglected to handle
      arrays and domains over citext. This release extends the module's
      upgrade script to handle these cases. As before, if you have
      already run the upgrade script, you'll need to run the collation
      update commands by hand instead. See the 9.1.2 release notes for
      more information about doing this.
    - Allow numeric timezone offsets in timestamp input to be up to 16
      hours away from UTC. Some historical time zones have offsets larger than
      15 hours, the previous limit. This could result in dumped data values
      being rejected during reload.
    - Fix timestamp conversion to cope when the given time is exactly the
      last DST transition time for the current timezone.
      This oversight has been there a long time, but was not noticed
      previously because most DST-using zones are presumed to have an
      indefinite sequence of future DST transitions.
    - Fix text to name and char to name casts to perform string
      truncation correctly in multibyte encodings.
    - Fix memory copying bug in to_tsquery().
    - Ensure txid_current() reports the correct epoch when executed in
      hot standby.
    - Fix planner's handling of outer PlaceHolderVars within subqueries.
      This bug concerns sub-SELECTs that reference variables coming from
      the nullable side of an outer join of the surrounding query. In
      9.1, queries affected by this bug would fail with "ERROR:
      Upper-level PlaceHolderVar found where not expected". But in 9.0
      and 8.4, you'd silently get possibly-wrong answers, since the value
      transmitted into the subquery wouldn't go to null when it should.
    - Fix planning of UNION ALL subqueries with output columns that are
      not simple variables.
      Planning of such cases got noticeably worse in 9.1 as a result of a
      misguided fix for "MergeAppend child's targetlist doesn't match
      MergeAppend" errors. Revert that fix and do it another way.
    - Fix slow session startup when pg_attribute is very large.
      If pg_attribute exceeds one-fourth of shared_buffers, cache
      rebuilding code that is sometimes needed during session start would
      trigger the synchronized-scan logic, causing it to take many times
      longer than normal. The problem was particularly acute if many new
      sessions were starting at once.
    - Ensure sequential scans check for query cancel reasonably often.
      A scan encountering many consecutive pages that contain no live
      tuples would not respond to interrupts meanwhile.
    - Ensure the Windows implementation of PGSemaphoreLock() clears
      ImmediateInterruptOK before returning.
      This oversight meant that a query-cancel interrupt received later
      in the same query could be accepted at an unsafe time, with
      unpredictable but not good consequences.
    - Show whole-row variables safely when printing views or rules.
      Corner cases involving ambiguous names (that is, the name could be
      either a table or column name of the query) were printed in an
      ambiguous way, risking that the view or rule would be interpreted
      differently after dump and reload. Avoid the ambiguous case by
      attaching a no-op cast.
    - Fix "COPY FROM" to properly handle null marker strings that
      correspond to invalid encoding.
      A null marker string such as E'\\0' should work, and did work in
      the past, but the case got broken in 8.4.
    - Fix "EXPLAIN VERBOSE" for writable CTEs containing RETURNING
    - Fix "PREPARE TRANSACTION" to work correctly in the presence of
      advisory locks.
      Historically, "PREPARE TRANSACTION" has simply ignored any
      session-level advisory locks the session holds, but this case was
      accidentally broken in 9.1.
    - Fix truncation of unlogged tables.
    - Ignore missing schemas during non-interactive assignments of
      This re-aligns 9.1's behavior with that of older branches.
      Previously 9.1 would throw an error for nonexistent schemas
      mentioned in search_path settings obtained from places such as
    - Fix bugs with temporary or transient tables used in extension
      This includes cases such as a rewriting "ALTER TABLE" within an
      extension update script, since that uses a transient table behind
      the scenes.
    - Ensure autovacuum worker processes perform stack depth checking
      Previously, infinite recursion in a function invoked by
      auto-"ANALYZE" could crash worker processes.
    - Fix logging collector to not lose log coherency under high load.
      The collector previously could fail to reassemble large messages if
      it got too busy.
    - Fix logging collector to ensure it will restart file rotation after
      receiving SIGHUP.
    - Fix "too many LWLocks taken" failure in GiST indexes.
    - Fix WAL replay logic for GIN indexes to not fail if the index was
      subsequently dropped.
    - Correctly detect SSI conflicts of prepared transactions after a
    - Avoid synchronous replication delay when committing a transaction
      that only modified temporary tables.
      In such a case the transaction's commit record need not be flushed
      to standby servers, but some of the code didn't know that and
      waited for it to happen anyway.
    - Fix error handling in pg_basebackup.
    - Fix walsender to not go into a busy loop if connection is
    - Fix memory leak in PL/pgSQL's "RETURN NEXT" command.
    - Fix PL/pgSQL's "GET DIAGNOSTICS" command when the target is the
      function's first variable.
    - Ensure that PL/Perl package-qualifies the _TD variable.
      This bug caused trigger invocations to fail when they are nested
      within a function invocation that changes the current package.
    - Fix PL/Python functions returning composite types to accept a
      string for their result value.
      This case was accidentally broken by the 9.1 additions to allow a
      composite result value to be supplied in other formats, such as
    - Fix potential access off the end of memory in psql's expanded
      display ("\x") mode.
    - Fix several performance problems in pg_dump when the database
      contains many objects.
      pg_dump could get very slow if the database contained many schemas,
      or if many objects are in dependency loops, or if there are many
      owned sequences.
    - Fix memory and file descriptor leaks in pg_restore when reading a
      directory-format archive.
    - Fix pg_upgrade for the case that a database stored in a non-default
      tablespace contains a table in the cluster's default tablespace.
    - In ecpg, fix rare memory leaks and possible overwrite of one byte
      after the sqlca_t structure.
    - Fix "contrib/dblink"'s dblink_exec() to not leak temporary database
      connections upon error.
    - Fix "contrib/dblink" to report the correct connection name in error
    - Fix "contrib/vacuumlo" to use multiple transactions when dropping
      many large objects.
      This change avoids exceeding max_locks_per_transaction when many
      objects need to be dropped. The behavior can be adjusted with the
      new -l (limit) option.
  * debian/control: Bump debhelper build dependency to >= 8, as it does not
    build with earlier versions.
  * debian/control: Move bzr branches to alioth, so that other members of
    pkg-postgresql can commit. Update Vcs-* tags.
  * debian/control: Set Maintainer: to pkg-postgresql group, and move myself
    to Uploaders:.