-
postgresql-8.3 (8.3.9-0ubuntu8.10) intrepid-security; urgency=low
* New upstream security/bug fix release: (LP: #496923)
- Protect against indirect security threats caused by index functions
changing session-local state. This change prevents allegedly-immutable
index functions from possibly subverting a superuser's session
(CVE-2009-4136).
- Reject SSL certificates containing an embedded null byte in the
common name (CN) field. This prevents unintended matching of a
certificate to a server or client name during SSL validation
(CVE-2009-4034).
- Fix possible crash during backend-startup-time cache initialization.
- Avoid crash on empty thesaurus dictionary.
- Prevent signals from interrupting VACUUM at unsafe times.
- Fix possible crash due to integer overflow in hash table size
calculation.
- Fix very rare crash in inet/cidr comparisons.
- Ensure that shared tuple-level locks held by prepared transactions
are not ignored.
- Fix premature drop of temporary files used for a cursor that is
accessed within a subtransaction.
- Fix memory leak in syslogger process when rotating to a new CSV
logfile.
- Fix incorrect logic for GiST index page splits, when the split
depends on a non-first column of the index.
- Don't error out if recycling or removing an old WAL file fails at
the end of checkpoint. It's better to treat the problem as non-fatal and
allow the checkpoint to complete. Future checkpoints will retry the
removal. Such problems are not expected in normal operation, but have
been seen to be caused by misdesigned Windows anti-virus and backup
software.
- Fix PAM password processing to be more robust.
- Raise the maximum authentication token (Kerberos ticket) size in
GSSAPI and SSPI authentication methods. While the old 2000-byte limit
was more than enough for Unix Kerberos implementations, tickets issued
by Windows Domain Controllers can be much larger.
- Re-enable collection of access statistics for sequences. This used to
work but was broken in 8.3.
- Fix processing of ownership dependencies during CREATE OR REPLACE
FUNCTION.
- Fix incorrect handling of WHERE "x"="x" conditions.
In some cases these could get ignored as redundant, but they aren't
-- they're equivalent to "x" IS NOT NULL.
- Make text search parser accept underscores in XML attributes.
- Fix encoding handling in xml binary input. If the XML header doesn't
specify an encoding, we now assume UTF-8 by default; the previous
handling was inconsistent.
- Fix bug with calling plperl from plperlu or vice versa.
- Fix session-lifespan memory leak when a PL/Perl function is
redefined.
- Ensure that Perl arrays are properly converted to PostgreSQL arrays
when returned by a set-returning PL/Perl function.
- Fix rare crash in exception processing in PL/Python.
- Make the postmaster ignore any application_name parameter in
connection request packets, to improve compatibility with future
libpq versions.
-- Martin Pitt <email address hidden> Tue, 15 Dec 2009 15:02:52 +0100
-
postgresql-8.3 (8.3.8-0ubuntu8.10) intrepid-security; urgency=low
* New upstream security/bug fix release: (LP: #430544)
- Disallow "RESET ROLE" and "RESET SESSION AUTHORIZATION" inside
security-definer functions. This covers a case that was missed in the
previous patch that disallowed "SET ROLE" and "SET SESSION
AUTHORIZATION" inside security-definer functions. [CVE-2007-6600]
- Force WAL segment switch during pg_start_backup(). This avoids corner
cases that could render a base backup unusable.
- Make "LOAD" of an already-loaded loadable module into a no-op.
Formerly, "LOAD" would attempt to unload and re-load the module,
but this is unsafe and not all that useful.
- Disallow empty passwords during LDAP authentication.
- Fix handling of sub-SELECTs appearing in the arguments of an
outer-level aggregate function.
- Fix bugs associated with fetching a whole-row value from the output
of a Sort or Materialize plan node.
- Prevent synchronize_seqscans from changing the results of
scrollable and WITH HOLD cursors.
- Revert planner change that disabled partial-index and constraint
exclusion optimizations when there were more than 100 clauses in an
AND or OR list.
- Fix hash calculation for data type interval. This corrects wrong results
for hash joins on interval values. It also changes the contents of hash
indexes on interval columns. If you have any such indexes, you must
"REINDEX" them after updating.
- Treat to_char(..., 'TH') as an uppercase ordinal suffix with
'HH'/'HH12'. It was previously handled as 'th' (lowercase).
- Fix overflow for INTERVAL 'x ms' when "x" is more than 2 million
and integer datetimes are in use.
- Fix calculation of distance between a point and a line segment.
This led to incorrect results from a number of geometric operators.
- Fix money data type to work in locales where currency amounts have
no fractional digits, e.g. Japan.
- Fix LIKE for case where pattern contains %_.
- Properly round datetime input like 00:12:57.9999999999999999999999999999.
- Fix memory leaks in XML operations.
- Fix poor choice of page split point in GiST R-tree operator classes.
- Ensure that a "fast shutdown" request will forcibly terminate open
sessions, even if a "smart shutdown" was already in progress.
- Avoid performance degradation in bulk inserts into GIN indexes when
the input values are (nearly) in sorted order.
- Correctly enforce NOT NULL domain constraints in some contexts in
PL/pgSQL.
- Fix portability issues in plperl initialization.
- Fix pg_ctl to not go into an infinite loop if "postgresql.conf" is
empty.
- Improve pg_dump's efficiency when there are many large objects.
- Use SIGUSR1, not SIGQUIT, as the failover signal for pg_standby.
- Make pg_standby's maxretries option behave as documented.
- Make "contrib/hstore" throw an error when a key or value is too
long to fit in its data structure, rather than silently truncating
it.
- Fix "contrib/xml2"'s xslt_process() to properly handle the maximum
number of parameters (twenty).
- Improve robustness of libpq's code to recover from errors during
"COPY FROM STDIN".
-- Martin Pitt <email address hidden> Wed, 16 Sep 2009 10:45:23 +0200
-
postgresql-8.3 (8.3.7-0ubuntu8.10.1) intrepid-security; urgency=low
* No change rebuild as a security update as this fixes CVE-2009-0922
-- Marc Deslauriers <email address hidden> Mon, 06 Apr 2009 11:24:43 -0400
-
postgresql-8.3 (8.3.7-0ubuntu8.10) intrepid-proposed; urgency=low
* New upstream bug fix release: (LP: #344688)
- Prevent error recursion crashes when encoding conversion fails.
This change extends fixes made in the last two minor releases for
related failure scenarios. The previous fixes were narrowly
tailored for the original problem reports, but we have now
recognized that *any* error thrown by an encoding conversion
function could potentially lead to infinite recursion while trying
to report the error. The solution therefore is to disable
translation and encoding conversion and report the plain-ASCII form
of any error message, if we find we have gotten into a recursive
error reporting situation. (Closes: #517405)
- Disallow "CREATE CONVERSION" with the wrong encodings for the
specified conversion function. This prevents one possible scenario for
encoding conversion failure. The previous change is a backstop to guard
against other kinds of failures in the same area.
- Fix xpath() to not modify the path expression unless necessary, and
to make a saner attempt at it when necessary.
The SQL standard suggests that xpath should work on data that is a
document fragment, but libxml doesn't support that, and indeed it's
not clear that this is sensible according to the XPath standard.
xpath attempted to work around this mismatch by modifying both the
data and the path expression, but the modification was buggy and
could cause valid searches to fail. Now, xpath checks whether the
data is in fact a well-formed document, and if so invokes libxml
with no change to the data or path expression. Otherwise, a
different modification method that is somewhat less likely to fail
is used.
Note: The new modification method is still not 100% satisfactory,
and it seems likely that no real solution is possible. This patch
should therefore be viewed as a band-aid to keep from breaking
existing applications unnecessarily. It is likely that PostgreSQL
8.4 will simply reject use of xpath on data that is not a
well-formed document.
- Fix core dump when to_char() is given format codes that are
inappropriate for the type of the data argument.
- Fix extreme inefficiency in text search parser's handling of an
email-like string containing multiple @ characters.
- Fix planner problem with sub-"SELECT" in the output list of a
larger subquery.
- Fix decompilation of CASE WHEN with an implicit coercion.
- Fix possible misassignment of the owner of a TOAST table's rowtype.
If "CLUSTER" or a rewriting variant of "ALTER TABLE" were executed
by someone other than the table owner, the pg_type entry for the
table's TOAST table would end up marked as owned by that someone.
This caused no immediate problems, since the permissions on the
TOAST rowtype aren't examined by any ordinary database operation.
However, it could lead to unexpected failures if one later tried to
drop the role that issued the command (in 8.1 or 8.2), or "owner of
data type appears to be invalid" warnings from pg_dump after having
done so (in 8.3).
- Change "UNLISTEN" to exit quickly if the current session has never
executed any "LISTEN" command.
Most of the time this is not a particularly useful optimization,
but since "DISCARD ALL" invokes "UNLISTEN", the previous coding
caused a substantial performance problem for applications that made
heavy use of "DISCARD ALL".
- Fix PL/pgSQL to not treat INTO after "INSERT" as an INTO-variables
clause anywhere in the string, not only at the start; in
particular, don't fail for "INSERT INTO" within "CREATE RULE".
- Clean up PL/pgSQL error status variables fully at block exit.
This is not a problem for PL/pgSQL itself, but the omission could
cause the PL/pgSQL Debugger to crash while examining the state of a
function.
- Add MUST (Mauritius Island Summer Time) to the default list of
known timezone abbreviations.
-- Martin Pitt <email address hidden> Wed, 25 Mar 2009 09:02:46 +0100
-
postgresql-8.3 (8.3.6-0ubuntu8.10) intrepid-proposed; urgency=low
* New upstream bug fix release: (LP: #326372)
- Make "DISCARD ALL" release advisory locks, in addition to
everything it already did. This was decided to be the most
appropriate behavior. This could affect existing applications,
however.
- Fix whole-index GiST scans to work correctly. This error could
cause rows to be lost if a table is clustered on a GiST index.
- Fix crash of xmlconcat(NULL).
- Fix possible crash in ispell dictionary if high-bit-set characters
are used as flags. This is known to be done by one widely
available Norwegian dictionary, and the same condition may exist
in others. (Closes: #513580)
- Fix misordering of pg_dump output for composite types. The most
likely problem was for user-defined operator classes to be
dumped after indexes or views that needed them.
- Improve handling of URLs in headline() function.
- Improve handling of overlength headlines in headline() function.
- Prevent possible Assert failure or misconversion if an encoding
conversion is created with the wrong conversion function for the
specified pair of encodings.
- Fix possible Assert failure if a statement executed in PL/pgSQL is
rewritten into another kind of statement, for example if an
"INSERT" is rewritten into an "UPDATE".
- Ensure that a snapshot is available to datatype input functions.
This primarily affects domains that are declared with CHECK
constraints involving user-defined stable or immutable functions.
Such functions typically fail if no snapshot has been set.
- Make it safer for SPI-using functions to be used within datatype
I/O; in particular, to be used in domain check constraints.
- Avoid unnecessary locking of small tables in "VACUUM".
- Fix a problem that sometimes kept "ALTER TABLE ENABLE/DISABLE RULE"
from being recognized by active sessions.
- Fix a problem that made UPDATE RETURNING tableoid return zero
instead of the correct OID.
- Allow functions declared as taking ANYARRAY to work on the
pg_statistic columns of that type.
This used to work, but was unintentionally broken in 8.3.
- Fix planner misestimation of selectivity when transitive equality
is applied to an outer-join clause.
This could result in bad plans for queries like ... from a left
join b on a.a1 = b.b1 where a.a1 = 42 ...
- Improve optimizer's handling of long IN lists. This change
avoids wasting large amounts of time on such lists when
constraint exclusion is enabled.
- Prevent synchronous scan during GIN index build. Because GIN is
optimized for inserting tuples in increasing TID order, choosing
to use a synchronous scan could slow the build by a factor of
three or more.
- Ensure that the contents of a holdable cursor don't depend on the
contents of TOAST tables. Previously, large field values in a
cursor result might be represented as TOAST pointers, which
would fail if the referenced table got dropped before the cursor
is read, or if the large value is deleted and then vacuumed
away. This cannot happen with an ordinary cursor, but it could
with a cursor that is held past its creating transaction.
- Fix memory leak when a set-returning function is terminated without
reading its whole result.
- Fix encoding conversion problems in XML functions when the database
encoding isn't UTF-8.
- Fix "contrib/dblink"'s dblink_get_result(text,bool) function.
- Fix possible garbage output from "contrib/sslinfo" functions.
- Fix incorrect behavior of "contrib/tsearch2" compatibility trigger
when it's fired more than once in a command.
- Fix possible mis-signaling in autovacuum.
- Fix ecpg's handling of varchar structs.
- Make all documentation reference pgsql-bugs and/or pgsql-hackers as
appropriate, instead of the now-decommissioned pgsql-ports and
pgsql-patches mailing lists.
-- Martin Pitt <email address hidden> Fri, 06 Feb 2009 23:44:54 +0100
-
postgresql-8.3 (8.3.5-0ubuntu8.10) intrepid-proposed; urgency=low
* New upstream bug fix release: (LP: #293758)
- Fix GiST index corruption due to marking the wrong index entry
"dead" after a deletion. This would result in index searches failing to
find rows they should have found.
- Fix backend crash when the client encoding cannot represent a
localized error message.
- Fix possible crash in bytea-to-XML mapping.
- Fix possible crash when deeply nested functions are invoked from a
trigger.
- Improve optimization of "expression" IN ("expression-list") queries.
- Fix mis-expansion of rule queries when a sub-SELECT appears in a
function call in FROM, a multi-row VALUES list, or a RETURNING list.
- Fix Assert failure during rescan of an IS NULL search of a GiST
index.
- Fix memory leak during rescan of a hashed aggregation plan.
- Ensure an error is reported when a newly-defined PL/pgSQL trigger
function is invoked as a normal function.
- Force a checkpoint before "CREATE DATABASE" starts to copy files.
This prevents a possible failure if files had recently been deleted
in the source database.
- Prevent possible collision of relfilenode numbers when moving a
table to another tablespace with "ALTER SET TABLESPACE". The command
tried to re-use the existing filename, instead of picking one that is
known unused in the destination directory.
- Fix incorrect text search headline generation when single query
item matches first word of text.
- Fix improper display of fractional seconds in interval values when
using a non-ISO datestyle.
- Make ILIKE compare characters case-insensitively even when they're
escaped.
- Ensure "DISCARD" is handled properly by statement logging.
- Fix incorrect logging of last-completed-transaction time during
PITR recovery.
- Ensure SPI_getvalue and SPI_getbinval behave correctly when the
passed tuple and tuple descriptor have different numbers of columns.
This situation is normal when a table has had columns added or
removed, but these two functions didn't handle it properly. The
only likely consequence is an incorrect error indication.
- Mark SessionReplicationRole as PGDLLIMPORT so it can be used by
Slony on Windows.
- Fix small memory leak when using libpq's gsslib parameter.
The space used by the parameter string was not freed at connection
close.
- Ensure libgssapi is linked into libpq if needed.
- Fix ecpg's parsing of "CREATE ROLE".
- Fix recent breakage of pg_ctl restart.
* 03-gettext-domains.patch: Unfuzz for new upstream version.
-- Martin Pitt <email address hidden> Tue, 04 Nov 2008 20:32:37 +0100
-
postgresql-8.3 (8.3.4-2.2) intrepid; urgency=low
* debian/control: Add explicit dependency to locales, to ensure that the
locales package is configured before postgresql-8.3. Otherwise, the server
fails to start up when locales is unpacked while postgresql-8.3 is
configured. (LP: #280135)
-- Martin Pitt <email address hidden> Sun, 19 Oct 2008 15:31:07 +0200
-
postgresql-8.3 (8.3.4-2.1) intrepid; urgency=low
* Drop -contrib's libdbd-pg-perl to Suggests:, since it is only really
needed for bench.pl of the _int module. Changed description to point that
out.
-- Martin Pitt <email address hidden> Fri, 17 Oct 2008 18:39:14 +0200
-
postgresql-8.3 (8.3.4-2) unstable; urgency=medium
* Urgency medium due to RC bug fix (breaks upgrades).
* Add dependency to ssl-cert. This has always been implicitly there through
postgresql-common, but when upgrading -8.3 and ssl-cert at the same time,
apt does not ensure to configure ssl-cert before postgresql-8.3 if there
is no direct dependency. (Closes: #501690)
* debian/rules: Enable hardening when we build on Ubuntu. Lenny is too close
to release, so we do not enable that yet for Debian. Add hardening-wrapper
and lsb-release build dependencies for this.
-- Martin Pitt <email address hidden> Sat, 11 Oct 2008 14:28:34 +0200
-
postgresql-8.3 (8.3.4-1ubuntu1) intrepid; urgency=low
* Upload current Debian bzr head to intrepid to get back in sync with
Debian.
* debian/rules: Enable hardening when we build on Ubuntu. Lenny is too close
to release, so we do not enable that yet for Debian. Add hardening-wrapper
and lsb-release build dependencies for this.
postgresql-8.3 (8.3.4-1) unstable; urgency=low
* New upstream bugfix release:
- Fix bug in btree WAL recovery code. Recovery failed if the WAL ended
partway through a page split operation.
- Fix potential use of wrong cutoff XID for HOT page pruning.
This error created a risk of corruption in system catalogs that are
consulted by "VACUUM": dead tuple versions might be removed too
soon. The impact of this on actual database operations would be
minimal, since the system doesn't follow MVCC rules while examining
catalogs, but it might result in transiently wrong output from
pg_dump or other client programs.
- Fix potential miscalculation of datfrozenxid.
- Fix incorrect HOT updates after pg_class is reindexed.
Corruption of pg_class could occur if REINDEX TABLE pg_class was
followed in the same session by an ALTER TABLE RENAME or ALTER
TABLE SET SCHEMA command.
- Fix missed "combo cid" case. This error made rows incorrectly invisible
to a transaction in which they had been deleted by multiple
subtransactions that all aborted.
- Prevent autovacuum from crashing if the table it's currently
checking is deleted at just the wrong time.
- Widen local lock counters from 32 to 64 bits. This responds to reports
that the counters could overflow in sufficiently long transactions,
leading to unexpected "lock is already held" errors.
- Fix possible duplicate output of tuples during a GiST index scan.
- Regenerate foreign key checking queries from scratch when either
table is modified. Previously, 8.3 would attempt to replan the query,
but would work from previously generated query text. This led to
failures if a table or column was renamed.
- Fix missed permissions checks when a view contains a simple UNION
ALL construct. Permissions for the referenced tables were checked
properly, but not permissions for the view itself.
- Add checks in executor startup to ensure that the tuples produced
by an "INSERT" or "UPDATE" will match the target table's current
rowtype. This situation is believed to be impossible in 8.3, but it can
happen in prior releases, so a check seems prudent.
- Fix possible repeated drops during "DROP OWNED". This would typically
result in strange errors such as "cache lookup failed for relation NNN".
- Fix several memory leaks in XML operations.
- Fix xmlserialize() to raise error properly for unacceptable target
data type.
- Fix a couple of places that mis-handled multibyte characters in
text search configuration file parsing. Certain characters occurring in
configuration files would always cause "invalid byte sequence for
encoding" failures.
- Provide file name and line number location for all errors reported
in text search configuration files.
- Fix AT TIME ZONE to first try to interpret its timezone argument as
a timezone abbreviation, and only try it as a full timezone name if
that fails, rather than the other way around as formerly.
- Fix datetime input functions to correctly detect integer overflow
when running on a 64-bit platform.
- Prevent integer overflows during units conversion when displaying a
configuration parameter that has units.
- Improve performance of writing very long log messages to syslog.
- Allow spaces in the suffix part of an LDAP URL in "pg_hba.conf".
- Fix bug in backwards scanning of a cursor on a SELECT DISTINCT ON
query.
- Fix planner bug that could improperly push down IS NULL tests below
an outer join.
- Fix planner bug with nested sub-select expressions.
- Fix planner to estimate that GROUP BY expressions yielding boolean
results always result in two groups, regardless of the expressions'
contents.
- Fix PL/PgSQL to not fail when a FOR loop's target variable is a
record containing composite-type fields.
- Fix PL/Tcl to behave correctly with Tcl 8.5, and to be more careful
about the encoding of data sent to or from Tcl.
- Improve performance of PQescapeBytea().
- Fix ecpg to handle variables properly in "SET" commands.
- Improve pg_dump and pg_restore's error reporting after failure to
send a SQL command.
- Fix pg_ctl to properly preserve postmaster command-line arguments
across a restart.
- Fix erroneous WAL file cutoff point calculation in pg_standby.
* debian/control: Bump Standards-Version (no changes necessary).
* debian/control: intarray contrib module was renamed to _int. (LP: #250483)
-- Martin Pitt <email address hidden> Tue, 07 Oct 2008 14:57:53 +0200
-
postgresql-8.3 (8.3.3-1ubuntu1) intrepid; urgency=low
* debian/{control,rules}: enable PIE hardening
-- Kees Cook <email address hidden> Wed, 20 Aug 2008 15:55:29 -0700
-
postgresql-8.3 (8.3.3-1) unstable; urgency=low
* New upstream bugfix release (note that 8.3.2 was never officially released
due to the discovery of another major bug):
- Make pg_get_ruledef() parenthesize negative constants.
Before this fix, a negative constant in a view or rule might be
dumped as, say, -42::integer, which is subtly incorrect: it should
be (-42)::integer due to operator precedence rules. Usually this
would make little difference, but it could interact with another
recent patch to cause PostgreSQL to reject what had been a valid
"SELECT DISTINCT" view query. Since this could result in pg_dump
output failing to reload, it is being treated as a high-priority
fix. The only released versions in which dump output is actually
incorrect are 8.3.1 and 8.2.7.
- Make "ALTER AGGREGATE ... OWNER TO" update pg_shdepend.
This oversight could lead to problems if the aggregate was later
involved in a "DROP OWNED" or "REASSIGN OWNED" operation.
- Fix incorrect archive truncation point calculation for the %r macro
in recovery_command parameters. This could lead to data loss if a
warm-standby script relied on %r to decide when to throw away WAL
segment files.
- Fix "ALTER TABLE ADD COLUMN ... PRIMARY KEY" so that the new column
is correctly checked to see if it's been initialized to all
non-nulls.
- Fix "REASSIGN OWNED" so that it works on procedural languages too.
- Fix problems with "SELECT FOR UPDATE/SHARE" occurring as a subquery
in a query with a non-"SELECT" top-level operation.
- Fix possible "CREATE TABLE" failure when inheriting the "same"
constraint from multiple parent relations that inherited that
constraint from a common ancestor.
- Fix pg_get_ruledef() to show the alias, if any, attached to the
target table of an "UPDATE" or "DELETE".
- Restore the pre-8.3 behavior that an out-of-range block number in a
TID being used in a TidScan plan results in silently not matching
any rows. 8.3.0 and 8.3.1 threw an error instead.
- Fix GIN bug that could result in a too many LWLocks taken failure.
- Fix broken GiST comparison function for tsquery.
- Fix tsvector_update_trigger() and ts_stat() to accept domains over
the types they expect to work with.
- Fix failure to support enum data types as foreign keys.
- Avoid possible crash when decompressing corrupted data.
- Fix race conditions between delayed unlinks and "DROP DATABASE".
In the worst case this could result in deleting a newly created
table in a new database that happened to get the same OID as the
recently-dropped one; but of course that is an extremely
low-probability scenario.
- Repair two places where SIGTERM exit of a backend could leave
corrupted state in shared memory.
- Fix possible crash due to incorrect plan generated for an x IN
(SELECT y FROM ...) clause when "x" and "y" have different data
types; and make sure the behavior is semantically correct when the
conversion from "y"'s type to "x"'s type is lossy.
- Fix oversight that prevented the planner from substituting known
Param values as if they were constants.
- Fix planner failure when an indexable MIN or MAX aggregate is used
with DISTINCT or ORDER BY.
- Fix planner to ensure it never uses a "physical tlist" for a plan
node that is feeding a Sort node.
- Avoid unnecessary copying of query strings.
- Make TransactionIdIsCurrentTransactionId() use binary search
instead of linear search when checking child-transaction XIDs.
This fixes some cases in which 8.3.0 was significantly slower than
earlier releases.
- Fix conversions between ISO-8859-5 and other encodings to handle
Cyrillic "Yo" characters (e and E with two dots).
- Fix several datatype input functions, notably array_in(), that were
allowing unused bytes in their results to contain uninitialized,
unpredictable values. This could lead to failures in which two
apparently identical literal values were not seen as equal, resulting in
the parser complaining about unmatched ORDER BY and DISTINCT
expressions.
- Fix a corner case in regular-expression substring matching
(substring(string from pattern)).
The problem occurs when there is a match to the pattern overall but
the user has specified a parenthesized subexpression and that
subexpression hasn't got a match. An example is substring('foo'
from 'foo(bar)?'). This should return NULL, since (bar) isn't
matched, but it was mistakenly returning the whole-pattern match
instead (ie, foo).
- Prevent cancellation of an auto-vacuum that was launched to prevent
XID wraparound.
- Improve "ANALYZE"'s handling of in-doubt tuples (those inserted or
deleted by a not-yet-committed transaction) so that the counts it
reports to the stats collector are more likely to be correct.
- Fix initdb to reject a relative path for its --xlogdir (-X) option.
- Make psql print tab characters as an appropriate number of spaces,
rather than \x09 as was done in 8.3.0 and 8.3.1.
- Add ECPGget_PGconn() function to ecpglib. Dropped
00upstream-ecpg-get-connection.patch, which backported this fix.
- Fix incorrect result from ecpg's PGTYPEStimestamp_sub() function.
- Fix handling of continuation line markers in ecpg.
- Fix possible crashes in "contrib/cube" functions.
- Fix core dump in "contrib/xml2"'s xpath_table() function when the
input query returns a NULL value.
* Build against tcl 8.5.
* debian/control: Fix bad wrapping in build dependencies.
-- Martin Pitt <email address hidden> Wed, 11 Jun 2008 20:43:07 +0200
-
postgresql-8.3 (8.3.1-2) unstable; urgency=low
* debian/control: Change description of the metapackages from "latest
available" to "currently supported", since after a distro release, the
latest available upstream version changes, and thus this becomes slightly
confusing.
* debian/control: Add missing description of 'hstore' to p-contrib.
* debian/control: Wrap build dependencies.
* Add debian/patches/00upstream-ecpg-get-connection.patch: Backport change
from upcoming 8.3.2 to add definition for ECPGget_PGconn().
(Closes: #475184)
* debian/postgresql-doc-8.3.doc-base: Update section, use "Data management"
now.
-- Ubuntu Archive Auto-Sync <email address hidden> Fri, 02 May 2008 02:23:00 +0100
-
postgresql-8.3 (8.3.1-1) unstable; urgency=low
* New upstream bugfix release:
- Repair corner-case bugs in "VACUUM FULL".
- Fix misbehavior of foreign key checks involving character or bit
columns.
- Avoid needless deadlock failures in no-op foreign-key checks.
- Fix possible core dump when re-planning a prepared query.
- Fix possible failure when re-planning a query that calls an
SPI-using function.
- Fix failure in row-wise comparisons involving columns of different
datatypes.
- Fix longstanding "LISTEN"/"NOTIFY" race condition.
- Disallow "LISTEN" and "UNLISTEN" within a prepared transaction
This was formerly allowed but trying to do it had various
unpleasant consequences, notably that the originating backend could
not exit as long as an "UNLISTEN" remained uncommitted.
- Disallow dropping a temporary table within a prepared transaction
This was correctly disallowed by 8.1, but the check was
inadvertently broken in 8.2 and 8.3.
- Fix rare crash when an error occurs during a query using a hash
index.
- Fix incorrect comparison of tsquery values.
- Fix incorrect behavior of LIKE with non-ASCII characters in
single-byte encodings. (Closes: #469180)
- Disable xmlvalidate. This function should have been removed before 8.3
release, but was inadvertently left in the source code. It poses a small
security risk since unprivileged users could use it to read the first
few characters of any file accessible to the server.
- Fix memory leaks in certain usages of set-returning functions.
- Make encode(bytea, 'escape') convert all high-bit-set byte values
into \"nnn" octal escape sequences.
This is necessary to avoid encoding problems when the database
encoding is multi-byte. This change could pose compatibility issues
for applications that are expecting specific results from encode.
- Fix input of datetime values for February 29 in years BC.
The former coding was mistaken about which years were leap years.
. Fix "unrecognized node type" error in some variants of "ALTER
OWNER".
- Avoid tablespace permissions errors in "CREATE TABLE LIKE INCLUDING
INDEXES".
- Ensure pg_stat_activity.waiting flag is cleared when a lock wait is
aborted.
- Fix ecpg problems with arrays.
- Fix pg_ctl to correctly extract the postmaster's port number from
command-line options. Previously, pg_ctl start -w could try to contact
the postmaster on the wrong port, leading to bogus reports of startup
failure. (Closes: #358546)
- Use "-fwrapv" to defend against possible misoptimization in recent
gcc versions (4.3 and later).
* debian/postgresql-8.3.init:
- Remove erroneous 'S' from Should-Stop.
- Require $remote_fs for startup, since postgresql needs /usr.
- Thanks to Petter Reinholdtsen!
- (Closes: #470935)
-- Martin Pitt <email address hidden> Fri, 21 Mar 2008 10:54:00 +0000