2005-05-15 14:31:57 by Marc Recht | Files touched by this commit (2) | |
Log message:
Update to PostgreSQL 8.0.3
This release contains a variety of fixes from 8.0.2, including several
security-related issues.
__________________________________________________________________
Migration to version 8.0.3
A dump/restore is not required for those running 8.0.X. However, it is
one possible way of handling two significant security problems that
have been found in the initial contents of 8.0.X system catalogs. A
dump/initdb/reload sequence using 8.0.3's initdb will automatically
correct these problems.
The larger security problem is that the built-in character set encoding
conversion functions can be invoked from SQL commands by unprivileged
users, but the functions were not designed for such use and are not
secure against malicious choices of arguments. The fix involves
changing the declared parameter list of these functions so that they
can no longer be invoked from SQL commands. (This does not affect their
normal use by the encoding conversion machinery.)
The lesser problem is that the "contrib/tsearch2" module creates
several functions that are misdeclared to return internal when they do
not accept internal arguments. This breaks type safety for all
functions using internal arguments.
It is strongly recommended that all installations repair these errors,
either by initdb or by following the manual repair procedure given
below. The errors at least allow unprivileged database users to crash
their server process, and may allow unprivileged users to gain the
privileges of a database superuser.
If you wish not to do an initdb, perform the same manual repair
procedures shown in the 7.4.8 release notes.
__________________________________________________________________
Changes
* Change encoding function signature to prevent misuse
* Change "contrib/tsearch2" to avoid unsafe use of INTERNAL function
results
* Guard against incorrect second parameter to record_out
* Repair ancient race condition that allowed a transaction to be seen
as committed for some purposes (eg SELECT FOR UPDATE) slightly
sooner than for other purposes
This is an extremely serious bug since it could lead to apparent
data inconsistencies being briefly visible to applications.
* Repair race condition between relation extension and VACUUM
This could theoretically have caused loss of a page's worth of
freshly-inserted data, although the scenario seems of very low
probability. There are no known cases of it having caused more than
an Assert failure.
* Fix comparisons of TIME WITH TIME ZONE values
The comparison code was wrong in the case where the
--enable-integer-datetimes configuration switch had been used.
NOTE: if you have an index on a TIME WITH TIME ZONE column, it will
need to be "REINDEX"ed after installing this update, because the
fix corrects the sort order of column values.
* Fix EXTRACT(EPOCH) for TIME WITH TIME ZONE values
* Fix mis-display of negative fractional seconds in INTERVAL values
This error only occurred when the --enable-integer-datetimes
configuration switch had been used.
* Fix pg_dump to dump trigger names containing % correctly (Neil)
* Still more 64-bit fixes for "contrib/intagg"
* Prevent incorrect optimization of functions returning RECORD
* Prevent crash on COALESCE(NULL,NULL)
* Fix Borland makefile for libpq
* Fix "contrib/btree_gist" for timetz type (Teodor)
* Make "pg_ctl" check the PID found in "postmaster.pid" \
to see if it
is still a live process
* Fix "pg_dump"/"pg_restore" problems caused by \
addition of dump
timestamps
* Fix interaction between materializing holdable cursors and firing
deferred triggers during transaction commit
* Fix memory leak in SQL functions returning pass-by-reference data
types
pkgsrc specific change:
Instead of setting CONFIGURE_ART let configure find the template to use
iteself.
|
2005-04-11 23:48:17 by Todd Vierling | Files touched by this commit (3539) |
Log message:
Remove USE_BUILDLINK3 and NO_BUILDLINK; these are no longer used.
|
2005-04-11 22:34:44 by Marc Recht | Files touched by this commit (12) | |
Log message:
update to PostgreSQL 8.0.2
While at it do some structual changes to packages and merge
the lib and docs package has been merged into the client package.
Also enable Rendezvous support on Darwin.
Changes
* Increment the major version number of all interface libraries
(Bruce)
This should have been done in 8.0.0. It is required so 7.4.X
versions of PostgreSQL client applications, like psql, can be used
on the same machine as 8.0.X applications. This might require
re-linking user applications that use these libraries.
* Add Windows-only wal_sync_method setting of "fsync_writethrough"
(Magnus, Bruce)
This setting causes PostgreSQL to write through any disk-drive
write cache when writing to WAL. This behavior was formerly called
"fsync", but was renamed because it acts quite differently from
"fsync" on other platforms.
* Enable the wal_sync_method setting of "open_datasync" on Windows,
and make it the default for that platform (Magnus, Bruce)
Because the default is no longer "fsync_writethrough", data loss is
possible during a power failure if the disk drive has write caching
enabled. To turn off the write cache on Windows, from the Device
Manager, choose the drive properties, then Policies.
* New cache management algorithm 2Q replaces ARC (Tom)
This was done to avoid a pending US patent on ARC. The 2Q code
might be a few percentage points slower than ARC for some work
loads. A better cache management algorithm will appear in 8.1.
* Planner adjustments to improve behavior on freshly-created tables
(Tom)
* Allow plpgsql to assign to an element of an array that is initially
NULL (Tom)
Formerly the array would remain NULL, but now it becomes a
single-element array. The main SQL engine was changed to handle
"UPDATE" of a null array value this way in 8.0, but the similar
case in plpgsql was overlooked.
* Convert \r\n and \r to \n in plpython function bodies (Michael
Fuhr)
This prevents syntax errors when plpython code is written on a
Windows or Mac client.
* Allow SPI cursors to handle utility commands that return rows, such
as "EXPLAIN" (Tom)
* Fix "CLUSTER" failure after "ALTER TABLE SET WITHOUT \
OIDS" (Tom)
* Reduce memory usage of "ALTER TABLE ADD COLUMN" (Neil)
* Fix "ALTER LANGUAGE RENAME" (Tom)
* Document the Windows-only register and unregister options of pg_ctl
(Magnus)
* Ensure operations done during backend shutdown are counted by
statistics collector
This is expected to resolve reports of pg_autovacuum not vacuuming
the system catalogs often enough -- it was not being told about
catalog deletions caused by temporary table removal during backend
exit.
* Change the Windows default for configuration parameter
log_destination to "eventlog" (Magnus)
By default, a server running on Windows will now send log output to
the Windows event logger rather than standard error.
* Make Kerberos authentication work on Windows (Magnus)
* Allow "ALTER DATABASE RENAME" by superusers who aren't flagged as
having CREATEDB privilege (Tom)
* Modify WAL log entries for "CREATE" and "DROP \
DATABASE" to not
specify absolute paths (Tom)
This allows point-in-time recovery on a different machine with
possibly different database location. Note that "CREATE TABLESPACE"
still poses a hazard in such situations.
* Fix crash from a backend exiting with an open transaction that
created a table and opened a cursor on it (Tom)
* Fix array_map() so it can call PL functions (Tom)
* Several "contrib/tsearch2" and "contrib/btree_gist" \
fixes (Teodor)
* Fix crash of some "contrib/pgcrypto" functions on some platforms
(Marko Kreen)
* Fix "contrib/intagg" for 64-bit platforms (Tom)
* Fix ecpg bugs in parsing of "CREATE" statement (Michael)
* Work around gcc bug on powerpc and amd64 causing problems in ecpg
(Christof Petig)
* Do not use locale-aware versions of upper(), lower(), and initcap()
when the locale is C (Bruce)
This allows these functions to work on platforms that generate
errors for non-7-bit data when the locale is C.
* Fix quote_ident() to quote names that match keywords (Tom)
* Fix to_date() to behave reasonably when CC and YY fields are both
used (Karel)
* Prevent to_char(interval) from failing when given a zero-month
interval (Tom)
* Fix wrong week returned by date_trunc('week') (Bruce)
date_trunc('week') returned the wrong year for the first few days
of January in some years.
* Use the correct default mask length for class D addresses in INET
data types (Tom)
|
2005-03-17 21:56:46 by Jan Schaumann | Files touched by this commit (2) |
Log message:
pull in the patch from \
http://archives.postgresql.org/pgsql-committers/2005-02/msg00049.php
which should fix CAN-2005-0247
|
2005-02-23 17:33:11 by Alistair G. Crooks | Files touched by this commit (108) |
Log message:
Add RMD160 digests in addition to SHA1 ones.
|
2005-02-06 14:21:45 by Takahiro Kambe | Files touched by this commit (3) |
Log message:
Fix pathname of ".include"; wip => databases.
|
2005-02-06 13:32:06 by Jaromir Dolecek | Files touched by this commit (22) | |
Log message:
PostgreSQL 8.0.1 packages. A dump/restore using pg_dump is required
for those wishing to migrate data from any previous release.
Major changes relative to 7.4.x:
* Savepoints
* Point-in-Time recovery
* Tablespaces
* Improved buffer management
* ALTER TABLE column management improvements
Full list of changes is available at:
http://www.postgresql.org/docs/8.0/static/release.html#RELEASE-8-0
Also note that PostgreSQL server listens also on localhost (127.0.0.1)
by default now.
|