首页 / 开源软件, 数据库类 /

PostgreSQL 8.4.1

下一篇

PostgreSQL是一种对象-关系型数据库管理系统(ORDBMS),也是目前功能最强大、特性最丰富和最复杂的自由软件数据库系统.它起源于伯克利(BSD)的数据库研究计划,目前是最重要的开源数据库产品开发项目之一, 有着非常广泛的用户.PostgreSQL是唯一支持事务、子查询、多版本并行控制系统、数据完整性检查等特性的唯一的一种自由软件的数据库管理系统.

能在多平台下—包括Linux、FreeBSD和Windows等—运行,并且支持多语言的开发.

Change Log

2009-09-09

E.1.1. Migration to Version 8.4.1

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

E.1.2. Changes

•Fix WAL page header initialization at the end of archive recovery (Heikki)

This could lead to failure to process the WAL in a subsequent archive recovery.

•Fix “cannot make new WAL entries during recovery” error (Tom)

•Fix problem that could make expired rows visible after a crash (Tom)

This bug involved a page status bit potentially not being set correctly after a server crash.

•Disallow RESET ROLE and RESET SESSION AUTHORIZATION inside security-definer functions (Tom, Heikki)

This covers a case that was missed in the previous patch that disallowed SET ROLE and SET SESSION AUTHORIZATION inside security-definer functions. (See CVE-2007-6600)

•Make LOAD of an already-loaded loadable module into a no-op (Tom)

Formerly, LOAD would attempt to unload and re-load the module, but this is unsafe and not all that useful.

•Make window function PARTITION BY and ORDER BY items always be interpreted as simple expressions (Tom)

In 8.4.0 these lists were parsed following the rules used for top-level GROUP BY and ORDER BY lists. But this was not correct per the SQL standard, and it led to possible circularity.

•Fix several errors in planning of semi-joins (Tom)

These led to wrong query results in some cases where IN or EXISTS was used together with another join.

•Fix handling of whole-row references to subqueries that are within an outer join (Tom)

An example is SELECT COUNT(ss.*) FROM … LEFT JOIN (SELECT …) ss ON …. Here, ss.* would be treated as ROW(NULL,NULL,…) for null-extended join rows, which is not the same as a simple NULL. Now it is treated as a simple NULL.

•Fix Windows shared-memory allocation code (Tsutomu Yamada, Magnus)

This bug led to the often-reported “could not reattach to shared memory” error message.

•Fix locale handling with plperl (Heikki)

This bug could cause the server’s locale setting to change when a plperl function is called, leading to data corruption.

•Fix handling of reloptions to ensure setting one option doesn’t force default values for others (Itagaki Takahiro)

•Ensure that a “fast shutdown” request will forcibly terminate open sessions, even if a “smart shutdown” was already in progress (Fujii Masao)

•Avoid memory leak for array_agg() in GROUP BY queries (Tom)

•Treat to_char(…, ‘TH’) as an uppercase ordinal suffix with ‘HH’/'HH12′ (Heikki)

It was previously handled as ‘th’ (lowercase).

•Include the fractional part in the result of EXTRACT(second) and EXTRACT(milliseconds) for time and time with time zone inputs (Tom)

This has always worked for floating-point datetime configurations, but was broken in the integer datetime code.

•Fix overflow for INTERVAL ‘x ms’ when x is more than 2 million and integer datetimes are in use (Alex Hunsaker)

•Improve performance when processing toasted values in index scans (Tom)

This is particularly useful for PostGIS.

•Fix a typo that disabled commit_delay (Jeff Janes)

•Output early-startup messages to postmaster.log if the server is started in silent mode (Tom)

Previously such error messages were discarded, leading to difficulty in debugging.

•Remove translated FAQs (Peter)

They are now on the wiki. The main FAQ was moved to the wiki some time ago.

•Fix pg_ctl to not go into an infinite loop if postgresql.conf is empty (Jeff Davis)

•Fix several errors in pg_dump’s –binary-upgrade mode (Bruce, Tom)

pg_dump –binary-upgrade is used by pg_migrator.

•Fix contrib/xml2′s xslt_process() to properly handle the maximum number of parameters (twenty) (Tom)

•Improve robustness of libpq’s code to recover from errors during COPY FROM STDIN (Tom)

•Avoid including conflicting readline and editline header files when both libraries are installed (Zdenek Kotala)

•Work around gcc bug that causes “floating-point exception” instead of “division by zero” on some platforms (Tom)

•Update time zone data files to tzdata release 2009l for DST law changes in Bangladesh, Egypt, Mauritius.

PostgreSQL 8.4.1 for Windows

 (38.0MB)

PostgreSQL 8.4.1 for Linux 32bit

 (33.0MB)

PostgreSQL 8.4.1 for Linux 64bit

 (34.3MB)

PostgreSQL 8.4.1 for Mac OS

 (51.5MB)

下一篇

网友评论: 0 Responses to PostgreSQL 8.4.1

  1. 呵呵, 哇哈哈,pgsql!

    muxueqz says:
  2. @muxueqz 据说日本和韩国的论坛用这个的多嘛 :mrgreen:

    LAONB says:

说你所想