PostgreSQL TODO List
====================
Current maintainer: Bruce Momjian (bruce@momjian.us)
-Last updated: Mon Mar 24 22:33:32 EDT 2008
+Last updated: Wed Jun 18 21:15:40 EDT 2008
The most recent version of this document can be viewed at
http://www.postgresql.org/docs/faqs.TODO.html.
-#A hyphen, "-", marks changes that will appear in the upcoming 8.3 release.#
+#A hyphen, "-", marks changes that will appear in the upcoming 8.4 release.#
#A percent sign, "%", marks items that are easier to implement.#
-Bracketed items, "[]", have more detail.
-
This list contains all known PostgreSQL bugs and feature requests. If
you would like to work on an item, please read the Developer's FAQ
first. There is also a developer's wiki at
Administration
==============
-* Allow administrators to safely terminate individual sessions either
+* -Allow administrators to safely terminate individual sessions either
via an SQL function or SIGTERM
-
- Lock table corruption following SIGTERM of an individual backend
- has been reported in 8.0. A possible cause was fixed in 8.1, but
- it is unknown whether other problems exist. This item mostly
- requires additional testing rather than of writing any new code.
-
- http://archives.postgresql.org/pgsql-hackers/2006-08/msg00174.php
- http://archives.postgresql.org/pgsql-hackers/2007-04/msg00218.php
-
* Check for unreferenced table files created by transactions that were
in-progress when the server terminated abruptly
from the template database, it is not clear that setting schemas to the db
owner is correct.
-* Add function to report the time of the most recent server reload
-* Allow statistics collector information to be pulled from the collector
- process directly, rather than requiring the collector to write a
- filesystem file twice a second?
-* Reduce file system activity overhead of statistics file pgstat.stat
-
- http://archives.postgresql.org/pgsql-general/2007-12/msg00106.php
-
-* Allow statistics last vacuum/analyze execution times to be displayed
- without requiring stats_row_level to be enabled
-
- http://archives.postgresql.org/pgsql-docs/2007-04/msg00028.php
-
+* -Add function to report the time of the most recent server reload
* Allow log_min_messages to be specified on a per-module basis
This would allow administrators to see more detailed information from
check that hostname against the host names in pg_hba.conf.
We could also then check that the host name maps to the IP
address.
+ http://archives.postgresql.org/pgsql-hackers/2008-06/msg00569.php
o %Allow postgresql.conf file values to be changed via an SQL
API, perhaps using SET GLOBAL
http://archives.postgresql.org/pgsql-hackers/2007-11/msg00009.php
+ o Add functions to syntax check configuration files
+
* Tablespaces
o Allow per-tablespace quotas
+* Statistics Collector
+
+ o Allow statistics collector information to be pulled from the collector
+ process directly, rather than requiring the collector to write a
+ filesystem file twice a second?
+ o Reduce file system activity overhead of statistics file pgstat.stat
+
+ http://archives.postgresql.org/pgsql-general/2007-12/msg00106.php
+
+ o Allow statistics last vacuum/analyze execution times to be displayed
+ without requiring stats_row_level to be enabled
+
+ http://archives.postgresql.org/pgsql-docs/2007-04/msg00028.php
+
+ o Clear table counters on TRUNCATE
+
+ http://archives.postgresql.org/pgsql-hackers/2008-04/msg00169.php
+
+
* Point-In-Time Recovery (PITR)
o Allow a warm standby system to also allow read-only statements
- [pitr]
http://archives.postgresql.org/pgsql-hackers/2007-03/msg00050.php
http://archives.postgresql.org/pgsql-hackers/2008-02/msg01214.php
-* Allow text search dictionary to filter out only stop words
-
- http://archives.postgresql.org/pgsql-patches/2007-11/msg00081.php
-
-* Consider a function-based API for '@@' full text searches
-
- http://archives.postgresql.org/pgsql-hackers/2007-11/msg00511.php
-
-* Improve text search error messages
-
- http://archives.postgresql.org/pgsql-hackers/2007-10/msg00966.php
- http://archives.postgresql.org/pgsql-hackers/2007-11/msg01146.php
-
* Consider a special data type for regular expressions
http://archives.postgresql.org/pgsql-hackers/2007-08/msg01067.php
http://archives.postgresql.org/pgsql-hackers/2007-10/msg00231.php
http://archives.postgresql.org/pgsql-hackers/2007-11/msg00471.php
+* Simplify integer cross-data-type operators
+
+ http://archives.postgresql.org/pgsql-bugs/2008-01/msg00189.php
+
+* Allow XML to accept more liberal DOCTYPE specifications
+ http://archives.postgresql.org/pgsql-general/2008-02/msg00347.php
+
+* Allow adding/renaming/removing enumerated values to an existing
+ enumerated data type
+
+ http://archives.postgresql.org/pgsql-hackers/2008-04/msg01718.php
* Dates and Times
o Merge hardwired timezone names with the TZ database; allow either
kind everywhere a TZ name is currently taken
o Allow TIMESTAMP WITH TIME ZONE to store the original timezone
- information, either zone name or offset from UTC [timezone]
+ information, either zone name or offset from UTC
If the TIMESTAMP value is stored with a time zone name, interval
computations should adjust based on the time zone rules.
+ http://archives.postgresql.org/pgsql-hackers/2004-10/msg00705.php
o Fix SELECT '0.01 years'::interval, '0.01 months'::interval
o Add a GUC variable to allow output of interval values in ISO8601
http://archives.postgresql.org/pgsql-hackers/2006-09/msg01363.php
- o Use LC_TIME for localized weekday/month names, rather than
+ o -Use LC_TIME for localized weekday/month names, rather than
LC_MESSAGES
http://archives.postgresql.org/pgsql-hackers/2006-11/msg00390.php
restore to a system with a different locale
* Allow MONEY to be easily cast to/from other numeric data types
+* Text Search
+
+ o Allow dictionaries to change the token that is passed on to
+ later dictionaries
+
+ http://archives.postgresql.org/pgsql-patches/2007-11/msg00081.php
+
+ o Consider a function-based API for '@@' searches
+
+ http://archives.postgresql.org/pgsql-hackers/2007-11/msg00511.php
+
+ o Improve text search error messages
+
+ http://archives.postgresql.org/pgsql-hackers/2007-10/msg00966.php
+ http://archives.postgresql.org/pgsql-hackers/2007-11/msg01146.php
+
+ o Consider changing error to warning for strings larger than one
+ megabyte
+
+ http://archives.postgresql.org/pgsql-bugs/2008-02/msg00190.php
+ http://archives.postgresql.org/pgsql-patches/2008-03/msg00062.php
+
+
Functions
=========
http://archives.postgresql.org/pgsql-hackers/2007-10/msg00895.php
+* Add SQL-standard array_agg() and unnest() array functions
+
+ http://archives.postgresql.org/pgsql-hackers/2008-01/msg01017.php
+
+* Allow calling of a procedure outside a SELECT that can control the
+ transaction state
+
+ http://archives.postgresql.org/pgsql-hackers/2007-10/msg01375.php
+
Multi-Language Support
database creation might have locale-aware indexes. The indexes would
need to be reindexed to match the new locale.
-* Allow encoding on a per-column basis optionally using the ICU library:
+* Allow encoding on a per-column basis optionally using the ICU library;
+ Add CREATE COLLATE
- Right now only one encoding is allowed per database. [locale]
+ Right now only one encoding is allowed per database.
http://archives.postgresql.org/pgsql-hackers/2005-03/msg00932.php
+ http://archives.postgresql.org/pgsql-patches/2005-08/msg00039.php
http://archives.postgresql.org/pgsql-patches/2005-08/msg00309.php
+ http://archives.postgresql.org/pgsql-hackers/2005-09/msg00110.php
+ http://archives.postgresql.org/pgsql-patches/2005-09/msg00020.php
+ http://archives.postgresql.org/pgsql-hackers/2005-12/msg01121.php
+ http://archives.postgresql.org/pgsql-hackers/2006-01/msg00767.php
http://archives.postgresql.org/pgsql-patches/2006-03/msg00233.php
http://archives.postgresql.org/pgsql-hackers/2006-09/msg00662.php
+ http://wiki.postgresql.org/wiki/Todo:Collate
+ http://wiki.postgresql.org/wiki/Todo:ICU
-* Add CREATE COLLATE? [locale]
* Support multiple simultaneous character sets, per SQL92
* Improve UTF8 combined character handling?
* Add octet_length_server() and octet_length_client()
http://archives.postgresql.org/pgsql-patches/2006-08/msg00255.php
* Add the functionality for WITH CHECK OPTION clause of CREATE VIEW
-* Allow NOTIFY in rules involving conditionals
* Allow VIEW/RULE recompilation when the underlying tables change
Another issue is whether underlying table changes should be reflected
http://archives.postgresql.org/pgsql-hackers/2006-11/msg00092.php
-* Allow LISTEN/NOTIFY to store info in memory rather than tables?
-
- Currently LISTEN/NOTIFY information is stored in pg_listener. Storing
- such information in memory would improve performance.
-
-* Add optional textual message to NOTIFY
-
- This would allow an informational message to be added to the notify
- message, perhaps indicating the row modified or other custom
- information.
-
-* Allow multiple identical NOTIFY events to always be communicated to the
- client, rather than sent as a single notification to the listener
+* Improve failure message when DROP DATABASE is used on a database that
+ has prepared transactions
+* Allow prepared transactions with temporary tables created and dropped
+ in the same transaction, and when an ON COMMIT DELETE ROWS temporary
+ table is accessed
- http://archives.postgresql.org/pgsql-general/2008-01/msg00057.php
+ http://archives.postgresql.org/pgsql-hackers/2008-03/msg00047.php
* Add a GUC variable to warn about non-standard SQL usage in queries
-* Add SQL-standard MERGE command, typically used to merge two tables
- [merge]
-
- This is similar to UPDATE, then for unmatched rows, INSERT.
- Whether concurrent access allows modifications which could cause
- row loss is implementation independent.
-
-* Add REPLACE or UPSERT command that does UPDATE, or on failure, INSERT
- [merge]
+* Add SQL-standard MERGE/REPLACE/UPSERT command
+ MERGE is typically used to merge two tables. REPLACE or UPSERT
+ command does UPDATE, or on failure, INSERT. This is similar to UPDATE,
+ then for unmatched rows, INSERT. Whether concurrent access allows
+ modifications which could cause row loss is implementation independent.
To implement this cleanly requires that the table have a unique index
- so duplicate checking can be easily performed. It is possible to
- do it without a unique index if we require the user to LOCK the table
- before the MERGE.
+ so duplicate checking can be easily performed. It is possible to do it
+ without a unique index if we require the user to LOCK the table before
+ the MERGE.
http://archives.postgresql.org/pgsql-hackers/2005-11/msg00501.php
http://archives.postgresql.org/pgsql-hackers/2005-11/msg00536.php
+ http://archives.postgresql.org/pgsql-hackers/2008-04/msg01475.php
* Add NOVICE output level for helpful messages like automatic sequence/index
creation
http://archives.postgresql.org/pgsql-hackers/2008-02/msg00642.php
http://archives.postgresql.org/pgsql-patches/2007-03/msg00139.php
http://archives.postgresql.org/pgsql-hackers/2007-11/msg01334.php
+ http://archives.postgresql.org/pgsql-patches/2008-01/msg00105.php
+ http://archives.postgresql.org/pgsql-patches/2008-03/msg00327.php
* Add DEFAULT .. AS OWNER so permission checks are done as the table
owner
* Allow DISTINCT to work in multiple-argument aggregate calls
* Add column to pg_stat_activity that shows the progress of long-running
commands like CREATE INDEX and VACUUM
+
+ http://archives.postgresql.org/pgsql-patches/2008-04/msg00203.php
+
* Implement SQL:2003 window functions
-* Improve failure message when DROP DATABASE is used on a database that
- has prepared transactions
-* Allow INSERT/UPDATE ... RETURNING inside a SELECT 'FROM' clause
+* Allow INSERT/UPDATE ... RETURNING inside a SELECT 'FROM' clause or
+ target list
http://archives.postgresql.org/pgsql-general/2006-09/msg00803.php
http://archives.postgresql.org/pgsql-hackers/2006-10/msg00693.php
+ http://archives.postgresql.org/pgsql-hackers/2008-06/msg00124.php
* Increase locking when DROPing objects so dependent objects cannot
get dropped while the DROP operation is happening
http://archives.postgresql.org/pgsql-bugs/2007-10/msg00169.php
+ o Add CREATE SCHEMA ... LIKE that copies a schema
+
+
* UPDATE
o Allow UPDATE tab SET ROW (col, ...) = (SELECT...)
Currently non-global system tables must be in the default database
tablespace. Global system tables can never be moved.
- o Prevent parent tables from altering or dropping constraints
+ o -Prevent parent tables from altering or dropping constraints
like CHECK that are inherited by child tables unless CASCADE
is used
- o %Prevent child tables from altering or dropping constraints
+ o -Prevent child tables from altering or dropping constraints
like CHECK that were inherited from the parent table
o Have ALTER INDEX update the name of a constraint using that index
o Add ALTER TABLE RENAME CONSTRAINT, update index name also
http://archives.postgresql.org/pgsql-hackers/2006-12/msg00782.php
+ o Allow an existing index to be marked as a table's primary key
+
+ http://archives.postgresql.org/pgsql-hackers/2008-04/msg00500.php
* CLUSTER
which generates an error when loading into an integer column
http://archives.postgresql.org/pgsql-hackers/2007-07/msg00905.php
+ o Impove COPY performance
+
+ http://archives.postgresql.org/pgsql-hackers/2008-02/msg00954.php
+
* GRANT/REVOKE
ANALYZE, and CLUSTER
+* LISTEN/NOTIFY
+
+ o Allow LISTEN/NOTIFY to store info in memory rather than tables?
+
+ Currently LISTEN/NOTIFY information is stored in pg_listener.
+ Storing such information in memory would improve performance.
+
+ o Add optional textual message to NOTIFY
+
+ This would allow an informational message to be added to the notify
+ message, perhaps indicating the row modified or other custom
+ information.
+
+ o Allow multiple identical NOTIFY events to always be communicated
+ to the client, rather than sent as a single notification to the
+ listener
+
+ http://archives.postgresql.org/pgsql-general/2008-01/msg00057.php
+
+ o Allow NOTIFY in rules involving conditionals
+ o Improve LISTEN concurrency
+
+ http://archives.postgresql.org/pgsql-hackers/2008-02/msg01106.php
+
+
Referential Integrity
=====================
http://archives.postgresql.org/pgsql-hackers/2007-07/msg00436.php
+ o Consider keeping seperate cached copies when search_path changes
+
+ http://archives.postgresql.org/pgsql-hackers/2008-01/msg01009.php
+
+ o -Add CASE capability to language (already in SQL)
+
+ http://archives.postgresql.org/pgsql-hackers/2008-01/msg00696.php
+
+
+
* Other
o Add table function support to pltcl, plpythonu
http://archives.postgresql.org/pgsql-hackers/2007-05/msg00289.php
+ o Add ability to obfuscate function bodies
+
+ http://archives.postgresql.org/pgsql-patches/2008-01/msg00125.php
+
Clients
http://archives.postgresql.org/pgsql-bugs/2007-12/msg00166.php
-* Prefix command-line utilities like createuser with 'pg_'
-
- http://archives.postgresql.org/pgsql-hackers/2007-06/msg00025.php
-
-
* psql
o Have psql show current values for a sequence
o Move psql backslash database information into the backend, use
- mnemonic commands? [psql]
+ mnemonic commands?
This would allow non-psql clients to pull the same information out
of the database as psql.
+ http://archives.postgresql.org/pgsql-hackers/2004-01/msg00191.php
- o Fix psql's \d commands more consistent
+ o Make psql's \d commands more consistent
http://archives.postgresql.org/pgsql-hackers/2004-11/msg00014.php
http://archives.postgresql.org/pgsql-hackers/2004-11/msg00014.php
http://archives.postgresql.org/pgsql-hackers/2007-04/msg00424.php
o Have \d show child tables that inherit from the specified parent
- o Have \l+ show database size, if permissions allow
+ o -Have \l+ show database size, if permissions allow
Ideally it will not generate an error for invalid permissions
http://archives.postgresql.org/pgsql-general/2007-09/msg00438.php
- o Improve display if enums
-
- http://archives.postgresql.org/pgsql-hackers/2008-01/msg00826.php
-
-
+ o -Improve display of enums to show valid enum values
+ o Add prompt escape to display the client and server versions
* pg_dump / pg_restore
Right now all deferred trigger information is stored in backend
memory. This could exhaust memory for very large trigger queues.
- This item involves dumping large queues into files.
+ This item involves dumping large queues into files, or doing some
+ kind of join to process all the triggers, or some bulk operation.
+ http://archives.postgresql.org/pgsql-hackers/2008-05/msg00876.php
* Allow triggers to be disabled in only the current session.
http://archives.postgresql.org/pgsql-general/2007-02/msg01466.php
-* Add ability to trigger on TRUNCATE
+* -Add ability to trigger on TRUNCATE
+* Add database and transaction-level triggers
- http://archives.postgresql.org/pgsql-sql/2008-01/msg00050.php
+ http://archives.postgresql.org/pgsql-hackers/2008-03/msg00451.php
http://archives.postgresql.org/pgsql-patches/2005-07/msg00512.php
http://archives.postgresql.org/pgsql-hackers/2006-12/msg01107.php
+ http://archives.postgresql.org/pgsql-hackers/2007-03/msg00265.php
+ http://archives.postgresql.org/pgsql-hackers/2007-03/msg01214.php
+ http://archives.postgresql.org/pgsql-patches/2007-05/msg00013.php
+ http://archives.postgresql.org/pgsql-hackers/2007-07/msg00741.php
* Allow accurate statistics to be collected on indexes with more than
one column or expression indexes, perhaps using per-index statistics
http://archives.postgresql.org/pgsql-performance/2006-10/msg00222.php
http://archives.postgresql.org/pgsql-hackers/2007-03/msg01131.php
-* Consider increasing the number of default statistics target, and
- reduce statistics target overhead
+* Consider increasing the default and maximum number of statistics targets,
+ and reduce statistics target overhead
Also consider having a larger statistics target for indexed columns
- and expression indexes
+ and expression indexes.
http://archives.postgresql.org/pgsql-general/2007-05/msg01228.php
http://archives.postgresql.org/pgsql-general/2007-06/msg00542.php
http://archives.postgresql.org/pgsql-hackers/2008-01/msg01066.php
+ http://archives.postgresql.org/pgsql-hackers/2008-03/msg00188.php
-* Consider compressing indexes by storing key values duplicated in
- several rows as a single index entry
+* Consider smaller indexes that record a range of values per heap page,
+ rather than having one index entry for every heap row
+ This is useful if the heap is clustered by the indexed values.
http://archives.postgresql.org/pgsql-hackers/2006-12/msg00341.php
http://archives.postgresql.org/pgsql-hackers/2007-02/msg01264.php
http://archives.postgresql.org/pgsql-hackers/2007-03/msg00465.php
http://archives.postgresql.org/pgsql-patches/2007-03/msg00163.php
+ http://archives.postgresql.org/pgsql-hackers/2007-08/msg00014.php
+ http://archives.postgresql.org/pgsql-hackers/2007-08/msg00487.php
+ http://archives.postgresql.org/pgsql-hackers/2008-04/msg01589.php
* Add REINDEX CONCURRENTLY, like CREATE INDEX CONCURRENTLY
http://archives.postgresql.org/pgsql-general/2008-01/msg01010.php
+* Allow index scans to return matching index keys, not just the matching
+ heap locations
+
+ http://archives.postgresql.org/pgsql-hackers/2008-04/msg01657.php
+
* Inheritance
checked at the end --- if it is the same, the table has not been
modified --- any table change would increment the counter.
+ http://archives.postgresql.org/pgsql-patches/2007-10/msg00166.php
+ http://archives.postgresql.org/pgsql-patches/2008-01/msg00049.php
+
* Consider automatic caching of statements at various levels:
o Parsed query tree
o Query execute plan
o Query results
+ http://archives.postgresql.org/pgsql-hackers/2008-04/msg00823.php
* Consider increasing internal areas when shared buffers is increased
http://archives.postgresql.org/pgsql-hackers/2006-12/msg01188.php
http://archives.postgresql.org/pgsql-hackers/2007-01/msg00121.php
+ http://archives.postgresql.org/pgsql-patches/2007-03/msg00508.php
+ http://archives.postgresql.org/pgsql-patches/2007-04/msg00347.php
+ http://archives.postgresql.org/pgsql-hackers/2007-11/msg00156.php
+ http://archives.postgresql.org/pgsql-hackers/2008-03/msg00546.php
+ http://archives.postgresql.org/pgsql-hackers/2008-04/msg00416.php
* Allow FSM to return free space toward the beginning of the heap file,
in hopes that empty pages at the end can be truncated by VACUUM
* Allow FSM page return free space based on table clustering, to assist
in maintaining clustering?
-* Improve dead row detection during multi-statement transactions usage
+* -Improve dead row detection during multi-statement transactions usage
http://archives.postgresql.org/pgsql-patches/2007-03/msg00358.php
http://archives.postgresql.org/pgsql-hackers/2008-01/msg00873.php
http://archives.postgresql.org/pgsql-committers/2008-01/msg00365.php
+* Detect deadlocks involving LockBufferForCleanup()
+
+ http://archives.postgresql.org/pgsql-hackers/2008-01/msg00873.php
Startup Time Improvements
=========================
-* Experiment with multi-threaded backend for backend creation [thread]
+* Experiment with multi-threaded backend for backend creation
This would prevent the overhead associated with process creation. Most
operating systems have trivial process creation time compared to
Write-Ahead Log
===============
-* Eliminate need to write full pages to WAL before page modification [wal]
+* Eliminate need to write full pages to WAL before page modification
Currently, to protect against partial disk page writes, we write
full page images to WAL before they are modified so we can correct any
partial page writes during recovery. These pages can also be
eliminated from point-in-time archive files.
+ http://archives.postgresql.org/pgsql-hackers/2002-06/msg00655.php
o When off, write CRC to WAL and check file system blocks
on recovery
Currently fsync of WAL requires the disk platter to perform a full
rotation to fsync again. One idea is to write the WAL to different
offsets that might reduce the rotational delay.
+ http://archives.postgresql.org/pgsql-hackers/2002-11/msg00483.php
* Allow WAL logging to be turned off for a table, but the table
- might be dropped or truncated during crash recovery [walcontrol]
+ might be dropped or truncated during crash recovery
Allow tables to bypass WAL writes and just fsync() dirty pages on
commit. This should be implemented using ALTER TABLE, e.g. ALTER
non-default logging should not use referential integrity with
default-logging tables. A table without dirty buffers during a
crash could perhaps avoid the drop/truncate.
+ http://archives.postgresql.org/pgsql-hackers/2005-12/msg01016.php
* Allow WAL logging to be turned off for a table, but the table would
- avoid being truncated/dropped [walcontrol]
+ avoid being truncated/dropped
To do this, only a single writer can modify the table, and writes
must happen only on new pages so the new pages can be removed during
crash recovery. Readers can continue accessing the table. Such
tables probably cannot have indexes. One complexity is the handling
of indexes on TOAST tables.
+ http://archives.postgresql.org/pgsql-hackers/2005-12/msg01016.php
* Speed WAL recovery by allowing more than one page to be prefetched
* Be more aggressive about creating WAL files
http://archives.postgresql.org/pgsql-hackers/2007-10/msg01325.php
+ http://archives.postgresql.org/pgsql-hackers/2004-07/msg01075.php
+ http://archives.postgresql.org/pgsql-hackers/2005-04/msg00556.php
* Have resource managers report the duration of their status changes
* Improve ability to display optimizer analysis using OPTIMIZER_DEBUG
* Have EXPLAIN ANALYZE issue NOTICE messages when the estimated and
actual row counts differ by a specified percentage
+* Improve how ANALYZE computes in-doubt tuples
+
+ http://archives.postgresql.org/pgsql-hackers/2007-11/msg00771.php
+
* Consider using hash buckets to do DISTINCT, rather than sorting
This would be beneficial when there are few distinct values. This is
http://archives.postgresql.org/pgsql-hackers/2007-08/msg00030.php
http://archives.postgresql.org/pgsql-performance/2007-08/msg00024.php
+* Consider transaction start/end performance improvements
+
+ http://archives.postgresql.org/pgsql-hackers/2007-07/msg00948.php
+ http://archives.postgresql.org/pgsql-hackers/2008-03/msg00361.php
+
* Allow user configuration of TOAST thresholds
http://archives.postgresql.org/pgsql-hackers/2007-02/msg00213.php
http://archives.postgresql.org/pgsql-hackers/2008-01/msg01119.php
-* Avoid tuple some tuple copying in sort routines
-
- http://archives.postgresql.org/pgsql-hackers/2008-02/msg01206.php
- http://archives.postgresql.org/pgsql-patches/2008-02/msg00176.php
-
+* -Avoid tuple some tuple copying in sort routines
* SMP scalability improvements
http://archives.postgresql.org/pgsql-hackers/2007-07/msg00439.php
http://archives.postgresql.org/pgsql-hackers/2007-09/msg00895.php
+* Consider being smarter about memory and external files used during
+ sorts
+
+ http://archives.postgresql.org/pgsql-hackers/2007-11/msg01101.php
+ http://archives.postgresql.org/pgsql-hackers/2007-12/msg00045.php
+
+* Allow one transaction to see tuples using the snapshot of another
+ transaction
+
+ This would assist multiple backends in working together.
+ http://archives.postgresql.org/pgsql-hackers/2008-01/msg00400.php
Source Code
http://archives.postgresql.org/pgsql-hackers/2006-11/msg00245.php
+* Improve the /contrib installation experience
+
+ http://archives.postgresql.org/pgsql-hackers/2008-04/msg00132.php
+
* Use UTF8 encoding for NLS messages so all server encodings can
read them properly
* Update Bonjour to work with newer cross-platform SDK
http://archives.postgresql.org/pgsql-hackers/2007-10/msg00851.php
-* Improve detection of shared memory segments being used by other
- FreeBSD jails
+* Improve detection of shared memory segments being used by others
+ by checking the SysV shared memory field 'nattch'
http://archives.postgresql.org/pgsql-hackers/2008-01/msg00656.php
+ http://archives.postgresql.org/pgsql-hackers/2008-01/msg00673.php
+* Implement the non-threaded Avahi service discovery protocol
+ http://archives.postgresql.org/pgsql-hackers/2008-02/msg00939.php
+ http://archives.postgresql.org/pgsql-patches/2008-02/msg00097.php
+ http://archives.postgresql.org/pgsql-hackers/2008-03/msg01211.php
+ http://archives.postgresql.org/pgsql-patches/2008-04/msg00001.php
* Win32
o Remove configure.in check for link failure when cause is found
o Remove readdir() errno patch when runtime/mingwex/dirent.c rev
1.4 is released
- o Remove psql newline patch when we find out why mingw outputs an
+ o -Remove psql newline patch when we find out why mingw outputs an
extra newline
o Allow psql to use readline once non-US code pages work with
backslashes
http://archives.postgresql.org/pgsql-hackers/2008-02/msg00485.php
http://archives.postgresql.org/pgsql-patches/2008-02/msg00038.php
- o Fix port/rint.c to be spec-compliant
+ o Find a correct rint() substitute on Windows
http://archives.postgresql.org/pgsql-hackers/2008-01/msg00808.php
http://archives.postgresql.org/pgsql-hackers/2004-04/msg00818.php
http://archives.postgresql.org/pgsql-hackers/2006-10/msg01527.php
+ http://archives.postgresql.org/pgsql-hackers/2008-03/msg00849.php
* Add autonomous transactions