[ubuntu/oneiric] postgresql-9.0 9.0.4-1 (Accepted)
Ubuntu Installer
archive at ubuntu.com
Tue May 3 08:05:18 UTC 2011
postgresql-9.0 (9.0.4-1) unstable; urgency=medium
Priority medium due to data-loss pg_upgrade bug.
* New upstream bug fix release:
- If your installation was upgraded from a previous major release by
running pg_upgrade, you should take action to prevent possible data loss
due to a now-fixed bug in pg_upgrade. The recommended solution is to run
"VACUUM FREEZE" on all TOAST tables. More information is available at
http://wiki.postgresql.org/wiki/20110408pg_upgrade_fix.
- Fix pg_upgrade's handling of TOAST tables.
This error poses a significant risk of data loss for installations
that have been upgraded with pg_upgrade. This patch corrects the
problem for future uses of pg_upgrade, but does not in itself cure
the issue in installations that have been processed with a buggy
version of pg_upgrade.
- Suppress incorrect "PD_ALL_VISIBLE flag was incorrectly set"
warning.
- Use better SQLSTATE error codes for hot standby conflict cases.
- Prevent intermittent hang in interactions of startup process with
bgwriter process. This affected recovery in non-hot-standby cases.
- Disallow including a composite type in itself.
- Avoid potential deadlock during catalog cache initialization.
- Fix dangling-pointer problem in BEFORE ROW UPDATE trigger handling
when there was a concurrent update to the target tuple.
- Disallow "DROP TABLE" when there are pending deferred trigger
events for the table.
Formerly the "DROP" would go through, leading to "could not open
relation with OID nnn" errors when the triggers were eventually
fired.
- Allow "replication" as a user name in "pg_hba.conf".
"replication" is special in the database name column, but it was
mistakenly also treated as special in the user name column.
- Prevent crash triggered by constant-false WHERE conditions during
GEQO optimization.
- Improve planner's handling of semi-join and anti-join cases.
- Fix handling of SELECT FOR UPDATE in a sub-SELECT.
This bug typically led to "cannot extract system attribute from
virtual tuple" errors.
- Fix selectivity estimation for text search to account for NULLs.
- Fix get_actual_variable_range() to support hypothetical indexes
injected by an index adviser plugin.
- Fix PL/Python memory leak involving array slices.
- Allow libpq's SSL initialization to succeed when user's home
directory is unavailable.
If the SSL mode is such that a root certificate file is not
required, there is no need to fail. This change restores the
behavior to what it was in pre-9.0 releases.
- Fix libpq to return a useful error message for errors detected in
conninfo_array_parse.
- Fix ecpg preprocessor's handling of float constants.
- Fix parallel pg_restore to handle comments on POST_DATA items
correctly.
- Fix pg_restore to cope with long lines (over 1KB) in TOC files.
- Put in more safeguards against crashing due to division-by-zero
with overly enthusiastic compiler optimization. (Closes: #616180)
* debian/control: Build debug package. (Closes: #551880)
* debian/control, debian/rules: Drop usage of pycentral. We don't ship any
Python extension/module, so we don't need a python helper at all.
(Closes: #616949)
postgresql-9.0 (9.0.3-1) unstable; urgency=low
* New upstream security/bug fix release:
- Fix buffer overrun in "contrib/intarray"'s input function for the
query_int type.
This bug is a security risk since the function's return address
could be overwritten. Thanks to Apple Inc's security team for
reporting this issue and supplying the fix. (CVE-2010-4015)
- Before exiting walreceiver, ensure all the received WAL is fsync'd
to disk. Otherwise the standby server could replay some un-synced WAL,
conceivably leading to data corruption if the system crashes just
at that point.
- Avoid excess fsync activity in walreceiver.
- Make "ALTER TABLE" revalidate uniqueness and exclusion constraints
when needed. This was broken in 9.0 by a change that was intended to
suppress revalidation during "VACUUM FULL" and "CLUSTER", but
unintentionally affected "ALTER TABLE" as well.
- Fix EvalPlanQual for "UPDATE" of an inheritance tree in which the
tables are not all alike.
Any variation in the table row types (including dropped columns
present in only some child tables) would confuse the EvalPlanQual
code, leading to misbehavior or even crashes. Since EvalPlanQual is
only executed during concurrent updates to the same row, the
problem was only seen intermittently.
- Avoid failures when "EXPLAIN" tries to display a simple-form CASE
expression.
If the CASE's test expression was a constant, the planner could
simplify the CASE into a form that confused the expression-display
code, resulting in "unexpected CASE WHEN clause" errors.
- Fix assignment to an array slice that is before the existing range
of subscripts.
If there was a gap between the newly added subscripts and the first
pre-existing subscript, the code miscalculated how many entries
needed to be copied from the old array's null bitmap, potentially
leading to data corruption or crash.
- Avoid unexpected conversion overflow in planner for very distant
date values.
The date type supports a wider range of dates than can be
represented by the timestamp types, but the planner assumed it
could always convert a date to timestamp with impunity.
- Fix PL/Python crash when an array contains null entries.
- Remove ecpg's fixed length limit for constants defining an array
dimension.
- Fix erroneous parsing of tsquery values containing ... &
!(subexpression) | ... .
Queries containing this combination of operators were not executed
correctly. The same error existed in "contrib/intarray"'s query_int
type and "contrib/ltree"'s ltxtquery type.
- Fix bug in "contrib/seg"'s GiST picksplit algorithm.
This could result in considerable inefficiency, though not actually
incorrect answers, in a GiST index on a seg column. If you have
such an index, consider "REINDEX"ing it after installing this
update. (This is identical to the bug that was fixed in
"contrib/cube" in the previous update.)
postgresql-9.0 (9.0.2-1) unstable; urgency=low
* New upstream bug fix release:
- Force the default wal_sync_method to be fdatasync on Linux.
The default on Linux has actually been fdatasync for many years,
but recent kernel changes caused PostgreSQL to choose open_datasync
instead. This choice did not result in any performance improvement,
and caused outright failures on certain filesystems, notably ext4
with the data=journal mount option.
- Fix "too many KnownAssignedXids" error during Hot Standby replay.
- Fix race condition in lock acquisition during Hot Standby.
- Avoid unnecessary conflicts during Hot Standby.
This fixes some cases where replay was considered to conflict with
standby queries (causing delay of replay or possibly cancellation
of the queries), but there was no real conflict.
- Fix assorted bugs in WAL replay logic for GIN indexes.
This could result in "bad buffer id: 0" failures or corruption of
index contents during replication.
- Fix recovery from base backup when the starting checkpoint WAL
record is not in the same WAL segment as its redo point.
- Fix corner-case bug when streaming replication is enabled
immediately after creating the master database cluster.
- Fix persistent slowdown of autovacuum workers when multiple workers
remain active for a long time.
The effective vacuum_cost_limit for an autovacuum worker could drop
to nearly zero if it processed enough tables, causing it to run
extremely slowly.
- Fix long-term memory leak in autovacuum launcher.
- Avoid failure when trying to report an impending transaction
wraparound condition from outside a transaction.
This oversight prevented recovery after transaction wraparound got
too close, because database startup processing would fail.
- Add support for detecting register-stack overrun on IA64.
The IA64 architecture has two hardware stacks. Full prevention of
stack-overrun failures requires checking both.
- Add a check for stack overflow in copyObject().
Certain code paths could crash due to stack overflow given a
sufficiently complex query.
- Fix detection of page splits in temporary GiST indexes.
It is possible to have a "concurrent" page split in a temporary
index, if for example there is an open cursor scanning the index
when an insertion is done. GiST failed to detect this case and
hence could deliver wrong results when execution of the cursor
continued.
- Fix error checking during early connection processing.
The check for too many child processes was skipped in some cases,
possibly leading to postmaster crash when attempting to add the new
child process to fixed-size arrays.
- Improve efficiency of window functions. Certain cases where a large
number of tuples needed to be read in advance, but work_mem was large
enough to allow them all to be held in memory, were unexpectedly slow.
percent_rank(), cume_dist() and ntile() in particular were subject to
this problem.
- Avoid memory leakage while "ANALYZE"'ing complex index expressions.
- Ensure an index that uses a whole-row Var still depends on its
table.
An index declared like create index i on t (foo(t.-)) would not
automatically get dropped when its table was dropped.
- Add missing support in "DROP OWNED BY" for removing foreign data
wrapper/server privileges belonging to a user.
- Do not "inline" a SQL function with multiple OUT parameters.
This avoids a possible crash due to loss of information about the
expected result rowtype.
- Fix crash when inline-ing a set-returning function whose argument
list contains a reference to an inline-able user function.
- Behave correctly if ORDER BY, LIMIT, FOR UPDATE, or WITH is
attached to the VALUES part of INSERT ... VALUES.
- Make the OFF keyword unreserved.
This prevents problems with using off as a variable name in
PL/pgSQL. That worked before 9.0, but was now broken because
PL/pgSQL now treats all core reserved words as reserved.
- Fix constant-folding of COALESCE() expressions.
The planner would sometimes attempt to evaluate sub-expressions
that in fact could never be reached, possibly leading to unexpected
errors.
- Fix "could not find pathkey item to sort" planner failure with
comparison of whole-row Vars.
- Fix postmaster crash when connection acceptance (accept() or one of
the calls made immediately after it) fails, and the postmaster was
compiled with GSSAPI support.
- Retry after receiving an invalid response packet from a RADIUS
authentication server.
This fixes a low-risk potential denial of service condition.
- Fix missed unlink of temporary files when log_temp_files is active.
If an error occurred while attempting to emit the log message, the
unlink was not done, resulting in accumulation of temp files.
- Add print functionality for InhRelation nodes.
This avoids a failure when debug_print_parse is enabled and certain
types of query are executed.
- Fix incorrect calculation of distance from a point to a horizontal
line segment.
This bug affected several different geometric distance-measurement
operators.
- Fix incorrect calculation of transaction status in ecpg.
- Fix errors in psql's Unicode-escape support.
- Speed up parallel pg_restore when the archive contains many large
objects (blobs).
- Fix PL/pgSQL's handling of "simple" expressions to not fail in
recursion or error-recovery cases.
- Fix PL/pgSQL's error reporting for no-such-column cases.
As of 9.0, it would sometimes report "missing FROM-clause entry for
table foo" when "record foo has no field bar" would be more
appropriate.
- Fix PL/Python to honor typmod (i.e., length or precision
restrictions) when assigning to tuple fields.
This fixes a regression from 8.4.
- Fix PL/Python's handling of set-returning functions.
Attempts to call SPI functions within the iterator generating a set
result would fail.
- Fix bug in "contrib/cube"'s GiST picksplit algorithm.
This could result in considerable inefficiency, though not actually
incorrect answers, in a GiST index on a cube column. If you have
such an index, consider "REINDEX"ing it after installing this
update.
- Don't emit "identifier will be truncated" notices in
"contrib/dblink" except when creating new connections.
- Fix potential coredump on missing public key in "contrib/pgcrypto".
- Fix buffer overrun in "contrib/pg_upgrade".
- Fix memory leak in "contrib/xml2"'s XPath query functions.
postgresql-9.0 (9.0.1-2) unstable; urgency=low
* debian/control: Build against libedit instead of libreadline. We can't
simultaneously link against readline (GPL) and libssl (incompatible with
GPL). (Closes: #603599)
postgresql-9.0 (9.0.1-1) unstable; urgency=low
* New upstream security/bug fix release:
- Use a separate interpreter for each calling SQL userid in PL/Perl
and PL/Tcl.
This change prevents security problems that can be caused by
subverting Perl or Tcl code that will be executed later in the same
session under another SQL user identity (for example, within a
SECURITY DEFINER function). Most scripting languages offer numerous
ways that that might be done, such as redefining standard functions
or operators called by the target function. Without this change,
any SQL user with Perl or Tcl language usage rights can do
essentially anything with the SQL privileges of the target
function's owner.
The cost of this change is that intentional communication among
Perl and Tcl functions becomes more difficult. To provide an escape
hatch, PL/PerlU and PL/TclU functions continue to use only one
interpreter per session. This is not considered a security issue
since all such functions execute at the trust level of a database
superuser already.
It is likely that third-party procedural languages that claim to
offer trusted execution have similar security issues. We advise
contacting the authors of any PL you are depending on for
security-critical purposes.
Our thanks to Tim Bunce for pointing out this issue
(CVE-2010-3433).
- Improve pg_get_expr() security fix so that the function can still
be used on the output of a sub-select.
- Fix incorrect placement of placeholder evaluation.
This bug could result in query outputs being non-null when they
should be null, in cases where the inner side of an outer join is a
sub-select with non-strict expressions in its output list.
- Fix join removal's handling of placeholder expressions.
- Fix possible duplicate scans of UNION ALL member relations.
- Prevent infinite loop in ProcessIncomingNotify() after unlistening.
- Prevent show_session_authorization() from crashing within
autovacuum processes.
- Re-allow input of Julian dates prior to 0001-01-01 AD.
Input such as 'J100000'::date worked before 8.4, but was
unintentionally broken by added error-checking.
- Make psql recognize "DISCARD ALL" as a command that should not be
encased in a transaction block in autocommit-off mode.
- Update build infrastructure and documentation to reflect the source
code repository's move from CVS to Git.
postgresql-9.0 (9.0.0-3) unstable; urgency=low
* debian/postgresql-9.0.preinst: Add missing debhelper token.
* debian/rules: debian/rules: Set DPKG_GENSYMBOLS_CHECK_LEVEL to 4 to point
out outdated .symbols files more strongly.
* Add symbols files for libecpg-compat3, libecpg6, and libpgtypes3.
postgresql-9.0 (9.0.0-2) unstable; urgency=low
* debian/rules: Reenable building with -O1 on sparc and alpha, floating
point with -O2 is still broken there.
* Drop debian/libpq5.shlibs, replace it with a proper debian/libpq5.symbols.
This keeps the reverse dependencies of libpq5 to >= 8.4, unless they use
one of the four new functions.
postgresql-9.0 (9.0.0-1) unstable; urgency=low
* Final 9.0 release, upload to unstable (will not go into Squeeze, though).
* debian/postgresql-9.0.preinst: Add missing debhelper token.
* debian/control: Bump Standards-Version to 3.9.1; no changes necessary.
* debian/control: Build the versionless metapackages now and point them to
9.0.
* debian/control: Fix Vcs-* to point to 9.0 branch.
* debian/rules: Drop special-case building with -O1 on sparc and alpha,
let's see how the current compiler does.
postgresql-9.0 (9.0~rc1-1) experimental; urgency=low
* First 9.0 release candidate.
postgresql-9.0 (9.0~beta4-1) experimental; urgency=low
* New upstream beta release.
postgresql-9.0 (9.0~beta3-2) experimental; urgency=low
* Migrate to a common init script for all server versions, to avoid
providing the "postgresql" service in multiple packages (which causes
insserv to complain bitterly):
- Drop debian/postgresql-9.0.init.
- debian/control: Bump dependency to postgresql-common to ensure we have a
common /etc/init.d/postgresql init script.
- debian/postgresql-9.0.preinst: Remove/rename our init script on upgrade.
- debian/postgresql-9.0.prerm: Call stop_version on upgrade/removal.
- debian/rules: Drop dh_installinit arguments.
- (Closes: #589523)
postgresql-9.0 (9.0~beta3-1) experimental; urgency=low
* New upstream beta release.
* debian/postgresql-contrib-9.0.install: Add the new pg_archivecleanup.
postgresql-9.0 (9.0~beta2-1) experimental; urgency=low
* New upstream beta release.
* debian/postgresql-9.0.install: Install pg_upgrade.
* debian/control: Set back maintainer to me, but keep Peter Eisentraut as
Uploader.
postgresql-9.0 (9.0~beta1-1) experimental; urgency=low
[ Peter Eisentraut ]
* Create 9.0 package based on 8.4 packaging trunk. Don't build versionless
metapackages for 9.0 yet.
- Adjusted 11-pg_regress-socketpath.patch
- Obsoletes 03-sh-architecture.patch
* Dropped obsolete documentation build.
* debian/rules: Use make world/install-world targets, obsoletes
01-build-contrib.patch.
* debian/watch: Adjusted for alpha releases.
[ Martin Pitt ]
* Update to upstream beta 1 release.
* 07-relax-sslkey-permscheck.patch: Add parentheses around || .. &&
construct to avoid a compiler warning (which turns into an error when
building with -Werror). Also add a DEP3 compatible header.
* 14-pg_config-paths.patch: Drop now unused "ret" variable (fix FTBFS with
-Werror). Add a DEP3 compatible header.
* debian/control: Bump p-common dependency to >= 107~ to ensure support for
9.0.
* debian/disable-root-check.patch: Refresh to apply cleanly.
* Convert source package to "3.0 (quilt)" format.
* Refresh patches to apply without fuzz.
* debian/control: Bump Standards-Version to 3.8.4 (no changes necessary).
* debian/patches/: Add DEP-3 compatible patch descriptions.
* Merge 08-pkglibdir.patch, 09-server-includedir.patch, and
14-pg_config-paths.patch into 50-per-version-dirs.patch, since they really
belong together.
* Merge 06-libpq-defaultsocketdir.patch and 11-pg_regress-socketpath.patch
into 51-default-sockets-in-var.patch, they really belong together.
* Re-enumerate 10-tutorial-README.patch and
13-pg_service.conf_directory_doc.patch to 5x-*, since they are Debian
specific.
* Merge 02-pager.patch and 12-psql-sensible-editor.patch into
54-debian-alternatives-for-external-tools.patch.
* Re-enumerate remaining patches.
Date: Tue, 03 May 2011 07:46:52 +0000
Changed-By: Martin Pitt <martin.pitt at ubuntu.com>
Maintainer: Martin Pitt <mpitt at debian.org>
Origin: Debian/unstable
https://launchpad.net/ubuntu/oneiric/+source/postgresql-9.0/9.0.4-1
-------------- next part --------------
Origin: Debian/unstable
Format: 1.7
Date: Tue, 03 May 2011 07:46:52 +0000
Source: postgresql-9.0
Binary: libpq-dev, libpq5, libecpg6, libecpg-dev, libecpg-compat3, libpgtypes3, postgresql-9.0, postgresql-9.0-dbg, postgresql-client-9.0, postgresql-server-dev-9.0, postgresql-doc-9.0, postgresql-contrib-9.0, postgresql-plperl-9.0, postgresql-plpython-9.0, postgresql-pltcl-9.0, postgresql, postgresql-client, postgresql-doc, postgresql-contrib
Architecture: source
Version: 9.0.4-1
Distribution: oneiric
Urgency: medium
Maintainer: Martin Pitt <mpitt at debian.org>
Changed-By: Martin Pitt <martin.pitt at ubuntu.com>
Description:
postgresql-9.0 - object-relational SQL database, version 9.0 server
Closes: 551880 589523 603599 616180 616949
Files:
80390514d568a7af5ab61db1cda27e29 14040871 database optional postgresql-9.0_9.0.4.orig.tar.bz2
ea69684ba9c21163f367820e8984f661 2468 database optional postgresql-9.0_9.0.4-1.dsc
fdf08b3eb771a772b0bed68ec632b6a8 25676 database optional postgresql-9.0_9.0.4-1.debian.tar.gz
Changes:
postgresql-9.0 (9.0.4-1) unstable; urgency=medium
.
Priority medium due to data-loss pg_upgrade bug.
.
* New upstream bug fix release:
- If your installation was upgraded from a previous major release by
running pg_upgrade, you should take action to prevent possible data loss
due to a now-fixed bug in pg_upgrade. The recommended solution is to run
"VACUUM FREEZE" on all TOAST tables. More information is available at
http://wiki.postgresql.org/wiki/20110408pg_upgrade_fix.
- Fix pg_upgrade's handling of TOAST tables.
This error poses a significant risk of data loss for installations
that have been upgraded with pg_upgrade. This patch corrects the
problem for future uses of pg_upgrade, but does not in itself cure
the issue in installations that have been processed with a buggy
version of pg_upgrade.
- Suppress incorrect "PD_ALL_VISIBLE flag was incorrectly set"
warning.
- Use better SQLSTATE error codes for hot standby conflict cases.
- Prevent intermittent hang in interactions of startup process with
bgwriter process. This affected recovery in non-hot-standby cases.
- Disallow including a composite type in itself.
- Avoid potential deadlock during catalog cache initialization.
- Fix dangling-pointer problem in BEFORE ROW UPDATE trigger handling
when there was a concurrent update to the target tuple.
- Disallow "DROP TABLE" when there are pending deferred trigger
events for the table.
Formerly the "DROP" would go through, leading to "could not open
relation with OID nnn" errors when the triggers were eventually
fired.
- Allow "replication" as a user name in "pg_hba.conf".
"replication" is special in the database name column, but it was
mistakenly also treated as special in the user name column.
- Prevent crash triggered by constant-false WHERE conditions during
GEQO optimization.
- Improve planner's handling of semi-join and anti-join cases.
- Fix handling of SELECT FOR UPDATE in a sub-SELECT.
This bug typically led to "cannot extract system attribute from
virtual tuple" errors.
- Fix selectivity estimation for text search to account for NULLs.
- Fix get_actual_variable_range() to support hypothetical indexes
injected by an index adviser plugin.
- Fix PL/Python memory leak involving array slices.
- Allow libpq's SSL initialization to succeed when user's home
directory is unavailable.
If the SSL mode is such that a root certificate file is not
required, there is no need to fail. This change restores the
behavior to what it was in pre-9.0 releases.
- Fix libpq to return a useful error message for errors detected in
conninfo_array_parse.
- Fix ecpg preprocessor's handling of float constants.
- Fix parallel pg_restore to handle comments on POST_DATA items
correctly.
- Fix pg_restore to cope with long lines (over 1KB) in TOC files.
- Put in more safeguards against crashing due to division-by-zero
with overly enthusiastic compiler optimization. (Closes: #616180)
* debian/control: Build debug package. (Closes: #551880)
* debian/control, debian/rules: Drop usage of pycentral. We don't ship any
Python extension/module, so we don't need a python helper at all.
(Closes: #616949)
.
postgresql-9.0 (9.0.3-1) unstable; urgency=low
.
* New upstream security/bug fix release:
- Fix buffer overrun in "contrib/intarray"'s input function for the
query_int type.
This bug is a security risk since the function's return address
could be overwritten. Thanks to Apple Inc's security team for
reporting this issue and supplying the fix. (CVE-2010-4015)
- Before exiting walreceiver, ensure all the received WAL is fsync'd
to disk. Otherwise the standby server could replay some un-synced WAL,
conceivably leading to data corruption if the system crashes just
at that point.
- Avoid excess fsync activity in walreceiver.
- Make "ALTER TABLE" revalidate uniqueness and exclusion constraints
when needed. This was broken in 9.0 by a change that was intended to
suppress revalidation during "VACUUM FULL" and "CLUSTER", but
unintentionally affected "ALTER TABLE" as well.
- Fix EvalPlanQual for "UPDATE" of an inheritance tree in which the
tables are not all alike.
Any variation in the table row types (including dropped columns
present in only some child tables) would confuse the EvalPlanQual
code, leading to misbehavior or even crashes. Since EvalPlanQual is
only executed during concurrent updates to the same row, the
problem was only seen intermittently.
- Avoid failures when "EXPLAIN" tries to display a simple-form CASE
expression.
If the CASE's test expression was a constant, the planner could
simplify the CASE into a form that confused the expression-display
code, resulting in "unexpected CASE WHEN clause" errors.
- Fix assignment to an array slice that is before the existing range
of subscripts.
If there was a gap between the newly added subscripts and the first
pre-existing subscript, the code miscalculated how many entries
needed to be copied from the old array's null bitmap, potentially
leading to data corruption or crash.
- Avoid unexpected conversion overflow in planner for very distant
date values.
The date type supports a wider range of dates than can be
represented by the timestamp types, but the planner assumed it
could always convert a date to timestamp with impunity.
- Fix PL/Python crash when an array contains null entries.
- Remove ecpg's fixed length limit for constants defining an array
dimension.
- Fix erroneous parsing of tsquery values containing ... &
!(subexpression) | ... .
Queries containing this combination of operators were not executed
correctly. The same error existed in "contrib/intarray"'s query_int
type and "contrib/ltree"'s ltxtquery type.
- Fix bug in "contrib/seg"'s GiST picksplit algorithm.
This could result in considerable inefficiency, though not actually
incorrect answers, in a GiST index on a seg column. If you have
such an index, consider "REINDEX"ing it after installing this
update. (This is identical to the bug that was fixed in
"contrib/cube" in the previous update.)
.
postgresql-9.0 (9.0.2-1) unstable; urgency=low
.
* New upstream bug fix release:
- Force the default wal_sync_method to be fdatasync on Linux.
The default on Linux has actually been fdatasync for many years,
but recent kernel changes caused PostgreSQL to choose open_datasync
instead. This choice did not result in any performance improvement,
and caused outright failures on certain filesystems, notably ext4
with the data=journal mount option.
- Fix "too many KnownAssignedXids" error during Hot Standby replay.
- Fix race condition in lock acquisition during Hot Standby.
- Avoid unnecessary conflicts during Hot Standby.
This fixes some cases where replay was considered to conflict with
standby queries (causing delay of replay or possibly cancellation
of the queries), but there was no real conflict.
- Fix assorted bugs in WAL replay logic for GIN indexes.
This could result in "bad buffer id: 0" failures or corruption of
index contents during replication.
- Fix recovery from base backup when the starting checkpoint WAL
record is not in the same WAL segment as its redo point.
- Fix corner-case bug when streaming replication is enabled
immediately after creating the master database cluster.
- Fix persistent slowdown of autovacuum workers when multiple workers
remain active for a long time.
The effective vacuum_cost_limit for an autovacuum worker could drop
to nearly zero if it processed enough tables, causing it to run
extremely slowly.
- Fix long-term memory leak in autovacuum launcher.
- Avoid failure when trying to report an impending transaction
wraparound condition from outside a transaction.
This oversight prevented recovery after transaction wraparound got
too close, because database startup processing would fail.
- Add support for detecting register-stack overrun on IA64.
The IA64 architecture has two hardware stacks. Full prevention of
stack-overrun failures requires checking both.
- Add a check for stack overflow in copyObject().
Certain code paths could crash due to stack overflow given a
sufficiently complex query.
- Fix detection of page splits in temporary GiST indexes.
It is possible to have a "concurrent" page split in a temporary
index, if for example there is an open cursor scanning the index
when an insertion is done. GiST failed to detect this case and
hence could deliver wrong results when execution of the cursor
continued.
- Fix error checking during early connection processing.
The check for too many child processes was skipped in some cases,
possibly leading to postmaster crash when attempting to add the new
child process to fixed-size arrays.
- Improve efficiency of window functions. Certain cases where a large
number of tuples needed to be read in advance, but work_mem was large
enough to allow them all to be held in memory, were unexpectedly slow.
percent_rank(), cume_dist() and ntile() in particular were subject to
this problem.
- Avoid memory leakage while "ANALYZE"'ing complex index expressions.
- Ensure an index that uses a whole-row Var still depends on its
table.
An index declared like create index i on t (foo(t.-)) would not
automatically get dropped when its table was dropped.
- Add missing support in "DROP OWNED BY" for removing foreign data
wrapper/server privileges belonging to a user.
- Do not "inline" a SQL function with multiple OUT parameters.
This avoids a possible crash due to loss of information about the
expected result rowtype.
- Fix crash when inline-ing a set-returning function whose argument
list contains a reference to an inline-able user function.
- Behave correctly if ORDER BY, LIMIT, FOR UPDATE, or WITH is
attached to the VALUES part of INSERT ... VALUES.
- Make the OFF keyword unreserved.
This prevents problems with using off as a variable name in
PL/pgSQL. That worked before 9.0, but was now broken because
PL/pgSQL now treats all core reserved words as reserved.
- Fix constant-folding of COALESCE() expressions.
The planner would sometimes attempt to evaluate sub-expressions
that in fact could never be reached, possibly leading to unexpected
errors.
- Fix "could not find pathkey item to sort" planner failure with
comparison of whole-row Vars.
- Fix postmaster crash when connection acceptance (accept() or one of
the calls made immediately after it) fails, and the postmaster was
compiled with GSSAPI support.
- Retry after receiving an invalid response packet from a RADIUS
authentication server.
This fixes a low-risk potential denial of service condition.
- Fix missed unlink of temporary files when log_temp_files is active.
If an error occurred while attempting to emit the log message, the
unlink was not done, resulting in accumulation of temp files.
- Add print functionality for InhRelation nodes.
This avoids a failure when debug_print_parse is enabled and certain
types of query are executed.
- Fix incorrect calculation of distance from a point to a horizontal
line segment.
This bug affected several different geometric distance-measurement
operators.
- Fix incorrect calculation of transaction status in ecpg.
- Fix errors in psql's Unicode-escape support.
- Speed up parallel pg_restore when the archive contains many large
objects (blobs).
- Fix PL/pgSQL's handling of "simple" expressions to not fail in
recursion or error-recovery cases.
- Fix PL/pgSQL's error reporting for no-such-column cases.
As of 9.0, it would sometimes report "missing FROM-clause entry for
table foo" when "record foo has no field bar" would be more
appropriate.
- Fix PL/Python to honor typmod (i.e., length or precision
restrictions) when assigning to tuple fields.
This fixes a regression from 8.4.
- Fix PL/Python's handling of set-returning functions.
Attempts to call SPI functions within the iterator generating a set
result would fail.
- Fix bug in "contrib/cube"'s GiST picksplit algorithm.
This could result in considerable inefficiency, though not actually
incorrect answers, in a GiST index on a cube column. If you have
such an index, consider "REINDEX"ing it after installing this
update.
- Don't emit "identifier will be truncated" notices in
"contrib/dblink" except when creating new connections.
- Fix potential coredump on missing public key in "contrib/pgcrypto".
- Fix buffer overrun in "contrib/pg_upgrade".
- Fix memory leak in "contrib/xml2"'s XPath query functions.
.
postgresql-9.0 (9.0.1-2) unstable; urgency=low
.
* debian/control: Build against libedit instead of libreadline. We can't
simultaneously link against readline (GPL) and libssl (incompatible with
GPL). (Closes: #603599)
.
postgresql-9.0 (9.0.1-1) unstable; urgency=low
.
* New upstream security/bug fix release:
- Use a separate interpreter for each calling SQL userid in PL/Perl
and PL/Tcl.
This change prevents security problems that can be caused by
subverting Perl or Tcl code that will be executed later in the same
session under another SQL user identity (for example, within a
SECURITY DEFINER function). Most scripting languages offer numerous
ways that that might be done, such as redefining standard functions
or operators called by the target function. Without this change,
any SQL user with Perl or Tcl language usage rights can do
essentially anything with the SQL privileges of the target
function's owner.
The cost of this change is that intentional communication among
Perl and Tcl functions becomes more difficult. To provide an escape
hatch, PL/PerlU and PL/TclU functions continue to use only one
interpreter per session. This is not considered a security issue
since all such functions execute at the trust level of a database
superuser already.
It is likely that third-party procedural languages that claim to
offer trusted execution have similar security issues. We advise
contacting the authors of any PL you are depending on for
security-critical purposes.
Our thanks to Tim Bunce for pointing out this issue
(CVE-2010-3433).
- Improve pg_get_expr() security fix so that the function can still
be used on the output of a sub-select.
- Fix incorrect placement of placeholder evaluation.
This bug could result in query outputs being non-null when they
should be null, in cases where the inner side of an outer join is a
sub-select with non-strict expressions in its output list.
- Fix join removal's handling of placeholder expressions.
- Fix possible duplicate scans of UNION ALL member relations.
- Prevent infinite loop in ProcessIncomingNotify() after unlistening.
- Prevent show_session_authorization() from crashing within
autovacuum processes.
- Re-allow input of Julian dates prior to 0001-01-01 AD.
Input such as 'J100000'::date worked before 8.4, but was
unintentionally broken by added error-checking.
- Make psql recognize "DISCARD ALL" as a command that should not be
encased in a transaction block in autocommit-off mode.
- Update build infrastructure and documentation to reflect the source
code repository's move from CVS to Git.
.
postgresql-9.0 (9.0.0-3) unstable; urgency=low
.
* debian/postgresql-9.0.preinst: Add missing debhelper token.
* debian/rules: debian/rules: Set DPKG_GENSYMBOLS_CHECK_LEVEL to 4 to point
out outdated .symbols files more strongly.
* Add symbols files for libecpg-compat3, libecpg6, and libpgtypes3.
.
postgresql-9.0 (9.0.0-2) unstable; urgency=low
.
* debian/rules: Reenable building with -O1 on sparc and alpha, floating
point with -O2 is still broken there.
* Drop debian/libpq5.shlibs, replace it with a proper debian/libpq5.symbols.
This keeps the reverse dependencies of libpq5 to >= 8.4, unless they use
one of the four new functions.
.
postgresql-9.0 (9.0.0-1) unstable; urgency=low
.
* Final 9.0 release, upload to unstable (will not go into Squeeze, though).
* debian/postgresql-9.0.preinst: Add missing debhelper token.
* debian/control: Bump Standards-Version to 3.9.1; no changes necessary.
* debian/control: Build the versionless metapackages now and point them to
9.0.
* debian/control: Fix Vcs-* to point to 9.0 branch.
* debian/rules: Drop special-case building with -O1 on sparc and alpha,
let's see how the current compiler does.
.
postgresql-9.0 (9.0~rc1-1) experimental; urgency=low
.
* First 9.0 release candidate.
.
postgresql-9.0 (9.0~beta4-1) experimental; urgency=low
.
* New upstream beta release.
.
postgresql-9.0 (9.0~beta3-2) experimental; urgency=low
.
* Migrate to a common init script for all server versions, to avoid
providing the "postgresql" service in multiple packages (which causes
insserv to complain bitterly):
- Drop debian/postgresql-9.0.init.
- debian/control: Bump dependency to postgresql-common to ensure we have a
common /etc/init.d/postgresql init script.
- debian/postgresql-9.0.preinst: Remove/rename our init script on upgrade.
- debian/postgresql-9.0.prerm: Call stop_version on upgrade/removal.
- debian/rules: Drop dh_installinit arguments.
- (Closes: #589523)
.
postgresql-9.0 (9.0~beta3-1) experimental; urgency=low
.
* New upstream beta release.
* debian/postgresql-contrib-9.0.install: Add the new pg_archivecleanup.
.
postgresql-9.0 (9.0~beta2-1) experimental; urgency=low
.
* New upstream beta release.
* debian/postgresql-9.0.install: Install pg_upgrade.
* debian/control: Set back maintainer to me, but keep Peter Eisentraut as
Uploader.
.
postgresql-9.0 (9.0~beta1-1) experimental; urgency=low
.
[ Peter Eisentraut ]
* Create 9.0 package based on 8.4 packaging trunk. Don't build versionless
metapackages for 9.0 yet.
- Adjusted 11-pg_regress-socketpath.patch
- Obsoletes 03-sh-architecture.patch
* Dropped obsolete documentation build.
* debian/rules: Use make world/install-world targets, obsoletes
01-build-contrib.patch.
* debian/watch: Adjusted for alpha releases.
.
[ Martin Pitt ]
* Update to upstream beta 1 release.
* 07-relax-sslkey-permscheck.patch: Add parentheses around || .. &&
construct to avoid a compiler warning (which turns into an error when
building with -Werror). Also add a DEP3 compatible header.
* 14-pg_config-paths.patch: Drop now unused "ret" variable (fix FTBFS with
-Werror). Add a DEP3 compatible header.
* debian/control: Bump p-common dependency to >= 107~ to ensure support for
9.0.
* debian/disable-root-check.patch: Refresh to apply cleanly.
* Convert source package to "3.0 (quilt)" format.
* Refresh patches to apply without fuzz.
* debian/control: Bump Standards-Version to 3.8.4 (no changes necessary).
* debian/patches/: Add DEP-3 compatible patch descriptions.
* Merge 08-pkglibdir.patch, 09-server-includedir.patch, and
14-pg_config-paths.patch into 50-per-version-dirs.patch, since they really
belong together.
* Merge 06-libpq-defaultsocketdir.patch and 11-pg_regress-socketpath.patch
into 51-default-sockets-in-var.patch, they really belong together.
* Re-enumerate 10-tutorial-README.patch and
13-pg_service.conf_directory_doc.patch to 5x-*, since they are Debian
specific.
* Merge 02-pager.patch and 12-psql-sensible-editor.patch into
54-debian-alternatives-for-external-tools.patch.
* Re-enumerate remaining patches.
More information about the Oneiric-changes
mailing list