-
+
Improve concurrent access to the shared buffer cache (Tom)
-
+
-
+
This was accomplished by eliminating global locks and using a clock
sweep algorithm to find free buffers.
- Allow indexes to be used for MIN/MAX (Tom)
+ Allow indexes to be used for MIN/MAX (Tom)
In previous releases, the only way to use index for MIN/MAX was to rewrite
- the query as SELECT col FROM tab ORDER BY col LIMIT 1. This now happens
+ the query as SELECT col FROM tab ORDER BY col LIMIT 1. This now happens
automatically.
-
+
- Add in-memory bitmaps which allows multiple indexes to be merged in a
- single query (Tom)
-
+ Add in-memory bitmaps which allows multiple indexes to be merged in a
+ single query (Tom)
+
-
+
This allows multiple indexes to be combined to access a single
table.
-
+
-
+ Add two-phase commit (Heikki Linnakangas, Alvaro, Tom)
+
+
+
+ Two-phase commit allows transactions to be "prepared" on several
+ computers, and once all computers have successfully prepared their
+ transactions (and can not be rolled back) all transactions can be
+ committed. Even if a machine crashes after a prepare, the prepared
+ transaction can be committed after it is restarted. New syntax
+ includes PREPARE TRANSACTION and COMMIT/ROLLBACK PREPARED. A new
+ system view pg_prepared_xacts has also been added.
+
+
+
-
+
+
+ Replace pg_shadow and pg_group by new role-capable catalogs pg_authid
+ and pg_auth_members.
+
+
+
-
+ Add SET ROLE (Stephen Frost)
+
-
+ Move /contrib/pgautovacuum into the main server (Alvaro Herrera)
+
-
+
-
+ Add SET ROLE (Stephen Frost)
+
-
+ Add shared row level locks using SELECT ... FOR SHARE (Alvaro)
+
-
+
-
+ While PostgreSQL's MVCC locking allows SELECT to never be blocked by writers
+ and therefore does not need shared row locks for typical operations,
+ shared locks are useful for applications that require shared row locking,
+ and to reduce the locking requirements to maintain referential integrity.
+
+
+ Add E'' syntax so eventually normal strings can treat backslashes
+ literally (Bruce)
+
+ Currently PostgreSQL considers a backslash to be a special character
+ so the character after the backslash is treated specially. While this
+ allows easy entry of special values, it is non-standard and makes
+ porting of application from other databases more difficult. For this
+ reason, the PostgreSQL project is moving to remove the special meaning
+ of backslashes in strings, and allow only an E preceeding a string to
+ turn on the special handling of backslashes. For this reason, this
+ release adds several new GUC variables related to backslash
+ processing:
+
+ escape_string_warning - warn about backslashes in non-E strings
+ escape_string_syntax - does this release support the E'' syntax?
+ standard_conforming_strings - does this release treat backslashes
+ literally in non-E strings
+
+ The last two values are read-only and should assist in the porting of
+ applications. Applications can retrieve these values to know how
+ backslashes are processed. In a later release,
+ standard_conforming_strings will be true, meaning backslashes will be
+ treated literally in non-E strings. To prepare for this change, use
+ E'' strings in places that need special backslash processing, and turn
+ on escape_string_warning to find additional strings that need to be
+ converted to use E''.
+
+
+
+
+ Make REINDEX DATABASE reindex all indexes in the database (Tom)
+
+ The old behavior of REINDEX database reindexed only system tables.
+ This new behavior seems more intuitive. A new command REINDEX SYSTEM
+ allows for reindexing just the system tables.
+
+
+
In psql, treat unquoted \{digit}+ sequences as octal (Bruce)
+
+ Fix problem of OID wraparound conflicting with existing system objects
+ (Tom)
+
+
+
Add warning about the need to increase "max_fsm_relations" and
Allow Kerberos name and user name case sensitivity to be specified from
- postgresql.conf
+ postgresql.conf (Magnus)
-
- Replace pg_shadow and pg_group by new role-capable catalogs pg_authid
- and pg_auth_members.
-
-
-
-
- Add SET ROLE (Stephen Frost)
-
-
-
-
- Move /contrib/pgautovacuum into the main server (Alvaro Herrera)
-
-
-
Add GUC variables to control keep-alive times for idle, interval, and
-
- Fix problem of OID wraparound conflicting with existing system objects
- (Tom)
-
-
-
-
- Add shared row level locks using SELECT ... FOR SHARE (Alvaro)
-
- While PostgreSQL's MVCC locking allows SELECT to never be blocked by writers
- and therefore does not need shared row locks for typical operations,
- shared locks are useful for applications that require shared row locking,
- and to reduce the locking requirements to maintain referential integrity.
-
-
-
Add BETWEEN SYMMETRIC query syntax (Pavel Stehule)
-
- Add E'' syntax so eventually normal strings can treat backslashes
- literally (Bruce)
-
- Currently PostgreSQL considers a backslash to be a special character
- so the character after the backslash is treated specially. While this
- allows easy entry of special values, it is non-standard and makes
- porting of application from other databases more difficult. For this
- reason, the PostgreSQL project is moving to remove the special meaning
- of backslashes in strings, and allow only an E preceeding a string to
- turn on the special handling of backslashes. For this reason, this
- release adds several new GUC variables related to backslash
- processing:
-
- escape_string_warning - warn about backslashes in non-E strings
- escape_string_syntax - does this release support the E'' syntax?
- standard_conforming_strings - does this release treat backslashes
- literally in non-E strings
-
- The last two values are read-only and should assist in the porting of
- applications. Applications can retrieve these values to know how
- backslashes are processed. In a later release,
- standard_conforming_strings will be true, meaning backslashes will be
- treated literally in non-E strings. To prepare for this change, use
- E'' strings in places that need special backslash processing, and turn
- on escape_string_warning to find additional strings that need to be
- converted to use E''.
-
-
-
Add NOWAIT option to SELECT ... FOR UPDATE/SHARE (Hans-Juergen Schoenig)
- Add two-phase commit (Heikki Linnakangas, Alvaro, Tom)
-
- Two-phase commit allows transactions to be "prepared" on several
- computers, and once all computers have successfully prepared their
- transactions (and can not be rolled back) all transactions can be
- committed. Even if a machine crashes after a prepare, the prepared
- transaction can be committed after it is restarted. New syntax
- includes PREPARE TRANSACTION and COMMIT/ROLLBACK PREPARED. A new
- system view pg_prepared_xacts has also been added.
-
-
-
-
- Have initdb create new standard database called "postgres" and convert utilities
- to use "postgres" rather than "template1" for standard lookups (Dave)
+ Have initdb create new standard database called "postgres" and
+ convert utilities to use "postgres" rather than "template1" for
+ standard lookups (Dave)
In prior releases, template1 was used both as a default
-
- Make REINDEX DATABASE reindex all indexes in the database (Tom)
-
- The old behavior of REINDEX database reindexed only system tables.
- This new behavior seems more intuitive. A new command REINDEX SYSTEM
- allows for reindexing just the system tables.
-
-
-
Create new reindexdb command-line utility by moving /contrib/reindexdb
Change pg_stat_* views to show TOAST tables (Tom)
-
+
+
+
- Streamline the passing information within the server, the optimizer,
+ Streamline the passing of information within the server, the optimizer,
and the lock system (Tom)