diff options
author | Bruce Momjian | 2007-12-07 17:52:15 +0000 |
---|---|---|
committer | Bruce Momjian | 2007-12-07 17:52:15 +0000 |
commit | d32f24776fb6780aaf3c08019692778b7bff1b82 (patch) | |
tree | 7d40bbd86c2251dfd1b064010776f1e2c8b72591 | |
parent | 6b8d26bb0788a21b734694c53464bea76f03076e (diff) |
Remove completed 8.3 TODO items:
< o -Allow commenting of variables in postgresql.conf to restore them
< to defaults
< o -Add a GUC variable to control the tablespace for temporary objects
< and sort files
< Monitoring
< ==========
<
< * -Allow server log information to be output as CSV format
< * -Add ability to monitor the use of temporary sort files
< * -Allow user-defined types to accept 'typmod' parameters
<
< http://archives.postgresql.org/pgsql-hackers/2005-08/msg01142.php
< http://archives.postgresql.org/pgsql-hackers/2005-09/msg00012.php
< http://archives.postgresql.org/pgsql-hackers/2006-08/msg00149.php
<
< * -Add Globally/Universally Unique Identifier (GUID/UUID)
<
< http://archives.postgresql.org/pgsql-patches/2006-09/msg00209.php
< http://archives.postgresql.org/pgsql-general/2007-01/msg00853.php
<
< * -Support a data type with specific enumerated values (ENUM)
< o -Add support for arrays of complex types
< o -Make 64-bit version of the MONEY data type
< * -Add ISO day of week format 'ID' to to_char() where Monday = 1
< * -Add a field 'isoyear' to extract(), based on the ISO week
< * -Add RESET SESSION command to reset all session state
< o -Make CLUSTER preserve recently-dead tuples per MVCC requirements
< o -Add more logical syntax CLUSTER table USING index;
< support current syntax for backward compatibility
< o -Allow UPDATE/DELETE WHERE CURRENT OF cursor
< o -Add support for MOVE cursors
< o -Allow PL/PythonU to return boolean rather than 1/0
< o -Allow psql \pset boolean variables to set to fixed values, rather
< than toggle
< o -Add -f to pg_dumpall
< Dependency Checking
< ===================
<
< * -Flush cached query plans when the dependent objects change or
< when new ANALYZE statistics are available
< * -Track dependencies in function bodies and recompile/invalidate
< * -Invalidate prepared queries, like INSERT, when the table definition
< is altered
<
< * -Allow use of indexes to search for NULLs
< * -Allow the creation of indexes with mixed ascending/descending
< specifiers
< * -Reduce checkpoint performance degredation by forcing data to disk
< more evenly
< * -Allow sequential scans to take advantage of other concurrent
< sequential scans, also called "Synchronised Scanning"
< * -Consider shrinking expired tuples to just their headers
< * -Allow heap reuse of UPDATEd rows if no indexed columns are changed,
< and old and new versions are on the same heap page
< * -Reduce XID consumption of read-only queries
< o -Turn on by default
< o -Allow multiple vacuums so large tables do not starve small
< tables
< * -Allow the pg_xlog directory location to be specified during initdb
< with a symlink back to the /data location
< * -Allow buffered WAL writes and fsync
< * -Allow ORDER BY ... LIMIT # to select high/low value without sort or
< index using a sequential scan for highest/lowest values
< * -Merge xmin/xmax/cmin/cmax back into three header fields
< o -Support a smaller header for short variable-length fields
< * -Move NAMEDATALEN from postgres_ext.h to pg_config_manual.h
< * -Fix problem with excessive logging during SSL disconnection
<
< http://archives.postgresql.org/pgsql-bugs/2006-12/msg00122.php
< http://archives.postgresql.org/pgsql-bugs/2007-05/msg00065.php
<
< o -Add long file support for binary pg_dump output
-rw-r--r-- | doc/TODO | 74 | ||||
-rw-r--r-- | doc/src/FAQ/TODO.html | 126 |
2 files changed, 28 insertions, 172 deletions
@@ -1,7 +1,7 @@ PostgreSQL TODO List ==================== Current maintainer: Bruce Momjian (bruce@momjian.us) -Last updated: Mon Nov 26 18:31:05 EST 2007 +Last updated: Fri Dec 7 12:52:05 EST 2007 The most recent version of this document can be viewed at http://www.postgresql.org/docs/faqs.TODO.html. @@ -100,8 +100,6 @@ Administration * Configuration files - o -Allow commenting of variables in postgresql.conf to restore them - to defaults o Allow pg_hba.conf to specify host names along with IP addresses Host name lookup could occur when the postmaster reads the @@ -142,8 +140,6 @@ Administration requires a tool that will call that function and connect to each database to find the objects in each database for that tablespace. - o -Add a GUC variable to control the tablespace for temporary objects - and sort files o Allow WAL replay of CREATE TABLESPACE to work when the directory structure on the recovery computer is different from the original @@ -168,11 +164,6 @@ Administration http://archives.postgresql.org/pgsql-hackers/2006-12/msg00497.php -Monitoring -========== - -* -Allow server log information to be output as CSV format -* -Add ability to monitor the use of temporary sort files Data Types @@ -187,12 +178,6 @@ Data Types * Fix data types where equality comparison isn't intuitive, e.g. box * Allow user-defined types to specify a type modifier at table creation time -* -Allow user-defined types to accept 'typmod' parameters - - http://archives.postgresql.org/pgsql-hackers/2005-08/msg01142.php - http://archives.postgresql.org/pgsql-hackers/2005-09/msg00012.php - http://archives.postgresql.org/pgsql-hackers/2006-08/msg00149.php - * Add support for public SYNONYMs http://archives.postgresql.org/pgsql-hackers/2006-03/msg00519.php @@ -202,11 +187,6 @@ Data Types http://archives.postgresql.org/pgsql-hackers/2006-05/msg00072.php http://archives.postgresql.org/pgsql-hackers/2006-09/msg01681.php -* -Add Globally/Universally Unique Identifier (GUID/UUID) - - http://archives.postgresql.org/pgsql-patches/2006-09/msg00209.php - http://archives.postgresql.org/pgsql-general/2007-01/msg00853.php - * Add support for SQL-standard GENERATED/IDENTITY columns http://archives.postgresql.org/pgsql-hackers/2006-07/msg00543.php @@ -214,7 +194,6 @@ Data Types http://archives.postgresql.org/pgsql-hackers/2007-05/msg00344.php http://archives.postgresql.org/pgsql-patches/2007-05/msg00076.php -* -Support a data type with specific enumerated values (ENUM) * Improve XML support http://developer.postgresql.org/index.php/XML_Support @@ -308,7 +287,6 @@ Data Types http://archives.postgresql.org/pgsql-patches/2007-05/msg00114.php - o -Add support for arrays of complex types o Allow single-byte header storage for array elements @@ -330,7 +308,6 @@ Data Types * MONEY data type - o -Make 64-bit version of the MONEY data type * Add locale-aware MONEY type, and support multiple currencies http://archives.postgresql.org/pgsql-general/2005-08/msg01432.php @@ -369,8 +346,6 @@ Functions o to_char(INTERVAL '43 hours 20 minutes', 'WK:DD:HR:MI') => 0:1:19:20 o to_char(INTERVAL '3 years 5 months','MM') => 41 -* -Add ISO day of week format 'ID' to to_char() where Monday = 1 -* -Add a field 'isoyear' to extract(), based on the ISO week * Implement inlining of set-returning functions defined in SQL * Allow SQL-language functions to return results from RETURNING queries @@ -539,7 +514,6 @@ SQL Commands * Add NOVICE output level for helpful messages like automatic sequence/index creation -* -Add RESET SESSION command to reset all session state * Add GUC to issue notice about statements that use unjoined tables * Allow EXPLAIN to identify tables that were skipped because of constraint_exclusion @@ -652,7 +626,6 @@ SQL Commands * CLUSTER - o -Make CLUSTER preserve recently-dead tuples per MVCC requirements o Automatically maintain clustering on a table This might require some background daemon to maintain clustering @@ -671,8 +644,6 @@ SQL Commands o %Add VERBOSE option to report tables as they are processed, like VACUUM VERBOSE - o -Add more logical syntax CLUSTER table USING index; - support current syntax for backward compatibility * COPY @@ -709,7 +680,6 @@ SQL Commands * CURSOR - o -Allow UPDATE/DELETE WHERE CURRENT OF cursor o Prevent DROP TABLE from dropping a row referenced by its own open cursor? @@ -784,7 +754,6 @@ SQL Commands http://archives.postgresql.org/pgsql-patches/2006-06/msg00031.php o Add single-step debugging of functions - o -Add support for MOVE cursors o Add support for SCROLL cursors o Add support for WITH HOLD cursors o Allow RETURN to return row or record functions @@ -817,7 +786,6 @@ SQL Commands http://archives.postgresql.org/pgsql-patches/2006-02/msg00288.php - o -Allow PL/PythonU to return boolean rather than 1/0 o Allow data to be passed in native language formats, rather than only text @@ -855,8 +823,6 @@ Clients http://archives.postgresql.org/pgsql-hackers/2004-11/msg00014.php http://archives.postgresql.org/pgsql-hackers/2004-11/msg00014.php - o -Allow psql \pset boolean variables to set to fixed values, rather - than toggle o Consistently display privilege information for all objects in psql o Add auto-expanded mode so expanded output is used if the row length is wider than the screen width. @@ -901,7 +867,6 @@ Clients o Stop dumping CASCADE on DROP TYPE commands in clean mode o Allow pg_dump --clean to drop roles that own objects or have privileges - o -Add -f to pg_dumpall o Change pg_dump so that a comment on the dumped database is applied to the loaded database, even if the database has a different name. This will require new backend syntax, perhaps @@ -999,15 +964,6 @@ Triggers -Dependency Checking -=================== - -* -Flush cached query plans when the dependent objects change or - when new ANALYZE statistics are available -* -Track dependencies in function bodies and recompile/invalidate -* -Invalidate prepared queries, like INSERT, when the table definition - is altered - Indexes ======= @@ -1028,15 +984,12 @@ Indexes http://archives.postgresql.org/pgsql-patches/2005-07/msg00512.php http://archives.postgresql.org/pgsql-hackers/2006-12/msg01107.php -* -Allow use of indexes to search for NULLs * 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 -* -Allow the creation of indexes with mixed ascending/descending - specifiers * Consider compressing indexes by storing key values duplicated in several rows as a single index entry @@ -1111,8 +1064,6 @@ Fsync * %Add an option to sync() before fsync()'ing checkpoint files * Add program to test if fsync has a delay compared to non-fsync -* -Reduce checkpoint performance degredation by forcing data to disk - more evenly Cache Usage @@ -1171,8 +1122,6 @@ Cache Usage o Query execute plan o Query results -* -Allow sequential scans to take advantage of other concurrent - sequential scans, also called "Synchronised Scanning" * Consider increasing internal areas when shared buffers is increased http://archives.postgresql.org/pgsql-hackers/2005-10/msg01419.php @@ -1227,14 +1176,10 @@ Vacuum 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? -* -Consider shrinking expired tuples to just their headers -* -Allow heap reuse of UPDATEd rows if no indexed columns are changed, - and old and new versions are on the same heap page * Improve dead row detection during multi-statement transactions usage http://archives.postgresql.org/pgsql-patches/2007-03/msg00358.php -* -Reduce XID consumption of read-only queries * Prevent long-lived temporary tables from causing frozen-xid advancement starvation @@ -1249,9 +1194,6 @@ Vacuum o %Issue log message to suggest VACUUM FULL if a table is nearly empty? o Consider logging activity either to the logs or a system view - o -Turn on by default - o -Allow multiple vacuums so large tables do not starve small - tables o Improve control of auto-vacuum http://archives.postgresql.org/pgsql-hackers/2006-12/msg00876.php @@ -1344,8 +1286,6 @@ Write-Ahead Log http://archives.postgresql.org/pgsql-hackers/2007-03/msg01589.php -* -Allow the pg_xlog directory location to be specified during initdb - with a symlink back to the /data location * Allow WAL information to recover corrupted pg_controldata http://archives.postgresql.org/pgsql-patches/2006-06/msg00025.php @@ -1357,7 +1297,6 @@ Write-Ahead Log rotation to fsync again. One idea is to write the WAL to different offsets that might reduce the rotational delay. -* -Allow buffered WAL writes and fsync * Allow WAL logging to be turned off for a table, but the table might be dropped or truncated during crash recovery [walcontrol] @@ -1382,8 +1321,6 @@ Optimizer / Executor ==================== * Improve selectivity functions for geometric operators -* -Allow ORDER BY ... LIMIT # to select high/low value without sort or - index using a sequential scan for highest/lowest values * Precompile SQL functions to avoid overhead * Create utility to compute accurate random_page_cost value * Improve ability to display optimizer analysis using OPTIMIZER_DEBUG @@ -1433,10 +1370,8 @@ Miscellaneous Performance could hit disk before WAL is written. * Add a script to ask system configuration questions and tune postgresql.conf -* -Merge xmin/xmax/cmin/cmax back into three header fields * Consider ways of storing rows more compactly on disk - o -Support a smaller header for short variable-length fields o Reduce the row header size? o Consider reducing on-disk varlena length from four bytes to two because a heap row cannot be more than 64k in length @@ -1511,7 +1446,6 @@ Source Code http://archives.postgresql.org/pgsql-docs/2006-12/msg00152.php -* -Move NAMEDATALEN from postgres_ext.h to pg_config_manual.h * Consider making NAMEDATALEN more configurable in future releases * Update our code to handle 64-bit timezone files to match the zic source code, which now uses them @@ -1519,11 +1453,6 @@ Source Code http://archives.postgresql.org/pgsql-patches/2007-05/msg00046.php -* -Fix problem with excessive logging during SSL disconnection - - http://archives.postgresql.org/pgsql-bugs/2006-12/msg00122.php - http://archives.postgresql.org/pgsql-bugs/2007-05/msg00065.php - * Support scoped IPv6 addresses http://archives.postgresql.org/pgsql-bugs/2007-05/msg00111.php @@ -1552,7 +1481,6 @@ Source Code http://archives.postgresql.org/pgsql-patches/2005-06/msg00027.php - o -Add long file support for binary pg_dump output * Wire Protocol Changes diff --git a/doc/src/FAQ/TODO.html b/doc/src/FAQ/TODO.html index 215176f1926..8b141ac26df 100644 --- a/doc/src/FAQ/TODO.html +++ b/doc/src/FAQ/TODO.html @@ -8,7 +8,7 @@ <body bgcolor="#FFFFFF" text="#000000" link="#FF0000" vlink="#A00000" alink="#0000FF"> <h1><a name="section_1">PostgreSQL TODO List</a></h1> <p>Current maintainer: Bruce Momjian (<a href="mailto:bruce@momjian.us">bruce@momjian.us</a>)<br/> -Last updated: Mon Nov 26 18:31:05 EST 2007 +Last updated: Fri Dec 7 12:52:05 EST 2007 </p> <p>The most recent version of this document can be viewed at<br/> <a href="http://www.postgresql.org/docs/faqs.TODO.html">http://www.postgresql.org/docs/faqs.TODO.html</a>. @@ -95,9 +95,7 @@ first. There is also a developer's wiki at<br/> </li></ul> </li><li>Configuration files <ul> - <li>-<em>Allow commenting of variables in postgresql.conf to restore them</em> - to defaults - </li><li>Allow pg_hba.conf to specify host names along with IP addresses + <li>Allow pg_hba.conf to specify host names along with IP addresses <p> Host name lookup could occur when the postmaster reads the pg_hba.conf file, or when the backend starts. Another solution would be to reverse lookup the connection IP and @@ -133,8 +131,6 @@ first. There is also a developer's wiki at<br/> requires a tool that will call that function and connect to each database to find the objects in each database for that tablespace. </p> - </li><li>-<em>Add a GUC variable to control the tablespace for temporary objects</em> - and sort files </li><li>Allow WAL replay of CREATE TABLESPACE to work when the directory structure on the recovery computer is different from the original </li><li>Allow per-tablespace quotas @@ -156,13 +152,7 @@ first. There is also a developer's wiki at<br/> </p> </li></ul> </li></ul> -<h1><a name="section_3">Monitoring</a></h1> - -<ul> - <li>-<em>Allow server log information to be output as CSV format</em> - </li><li>-<em>Add ability to monitor the use of temporary sort files</em> -</li></ul> -<h1><a name="section_4">Data Types</a></h1> +<h1><a name="section_3">Data Types</a></h1> <ul> <li>Change NUMERIC to enforce the maximum precision @@ -173,11 +163,6 @@ first. There is also a developer's wiki at<br/> </li><li>Fix data types where equality comparison isn't intuitive, e.g. box </li><li>Allow user-defined types to specify a type modifier at table creation time - </li><li>-<em>Allow user-defined types to accept 'typmod' parameters</em> -<p> <a href="http://archives.postgresql.org/pgsql-hackers/2005-08/msg01142.php">http://archives.postgresql.org/pgsql-hackers/2005-08/msg01142.php</a> - <a href="http://archives.postgresql.org/pgsql-hackers/2005-09/msg00012.php">http://archives.postgresql.org/pgsql-hackers/2005-09/msg00012.php</a> - <a href="http://archives.postgresql.org/pgsql-hackers/2006-08/msg00149.php">http://archives.postgresql.org/pgsql-hackers/2006-08/msg00149.php</a> -</p> </li><li>Add support for public SYNONYMs <p> <a href="http://archives.postgresql.org/pgsql-hackers/2006-03/msg00519.php">http://archives.postgresql.org/pgsql-hackers/2006-03/msg00519.php</a> </p> @@ -185,17 +170,12 @@ first. There is also a developer's wiki at<br/> <p> <a href="http://archives.postgresql.org/pgsql-hackers/2006-05/msg00072.php">http://archives.postgresql.org/pgsql-hackers/2006-05/msg00072.php</a> <a href="http://archives.postgresql.org/pgsql-hackers/2006-09/msg01681.php">http://archives.postgresql.org/pgsql-hackers/2006-09/msg01681.php</a> </p> - </li><li>-<em>Add Globally/Universally Unique Identifier (GUID/UUID)</em> -<p> <a href="http://archives.postgresql.org/pgsql-patches/2006-09/msg00209.php">http://archives.postgresql.org/pgsql-patches/2006-09/msg00209.php</a> - <a href="http://archives.postgresql.org/pgsql-general/2007-01/msg00853.php">http://archives.postgresql.org/pgsql-general/2007-01/msg00853.php</a> -</p> </li><li>Add support for SQL-standard GENERATED/IDENTITY columns <p> <a href="http://archives.postgresql.org/pgsql-hackers/2006-07/msg00543.php">http://archives.postgresql.org/pgsql-hackers/2006-07/msg00543.php</a> <a href="http://archives.postgresql.org/pgsql-hackers/2006-08/msg00038.php">http://archives.postgresql.org/pgsql-hackers/2006-08/msg00038.php</a> <a href="http://archives.postgresql.org/pgsql-hackers/2007-05/msg00344.php">http://archives.postgresql.org/pgsql-hackers/2007-05/msg00344.php</a> <a href="http://archives.postgresql.org/pgsql-patches/2007-05/msg00076.php">http://archives.postgresql.org/pgsql-patches/2007-05/msg00076.php</a> </p> - </li><li>-<em>Support a data type with specific enumerated values (ENUM)</em> </li><li>Improve XML support <p> <a href="http://developer.postgresql.org/index.php/XML_Support">http://developer.postgresql.org/index.php/XML_Support</a> </p> @@ -280,7 +260,6 @@ first. There is also a developer's wiki at<br/> </li><li>Add support for arrays of domains <p> <a href="http://archives.postgresql.org/pgsql-patches/2007-05/msg00114.php">http://archives.postgresql.org/pgsql-patches/2007-05/msg00114.php</a> </p> - </li><li>-<em>Add support for arrays of complex types</em> </li><li>Allow single-byte header storage for array elements </li></ul> </li><li>Binary Data @@ -299,20 +278,17 @@ first. There is also a developer's wiki at<br/> </li></ul> </li><li>MONEY data type <ul> - <li>-<em>Make 64-bit version of the MONEY data type</em> - <ul> - <li>Add locale-aware MONEY type, and support multiple currencies + <li>Add locale-aware MONEY type, and support multiple currencies <p> <a href="http://archives.postgresql.org/pgsql-general/2005-08/msg01432.php">http://archives.postgresql.org/pgsql-general/2005-08/msg01432.php</a> <a href="http://archives.postgresql.org/pgsql-hackers/2007-03/msg01181.php">http://archives.postgresql.org/pgsql-hackers/2007-03/msg01181.php</a> </p> - </li><li>MONEY dumps in a locale-specific format making it difficult to + </li><li>MONEY dumps in a locale-specific format making it difficult to restore to a system with a different locale - </li><li>Allow MONEY to be cast to/from other numeric data types - </li></ul> + </li><li>Allow MONEY to be cast to/from other numeric data types </li></ul> </li></ul> </li></ul> -<h1><a name="section_5">Functions</a></h1> +<h1><a name="section_4">Functions</a></h1> <ul> <li>Allow INET subnet tests using non-constants to be indexed @@ -338,8 +314,6 @@ first. There is also a developer's wiki at<br/> </li><li>to_char(INTERVAL '43 hours 20 minutes', 'WK:DD:HR:MI') => 0:1:19:20 </li><li>to_char(INTERVAL '3 years 5 months','MM') => 41 </li></ul> - </li><li>-<em>Add ISO day of week format 'ID' to to_char() where Monday = 1</em> - </li><li>-<em>Add a field 'isoyear' to extract(), based on the ISO week</em> </li><li>Implement inlining of set-returning functions defined in SQL </li><li>Allow SQL-language functions to return results from RETURNING queries <p> <a href="http://archives.postgresql.org/pgsql-hackers/2006-10/msg00665.php">http://archives.postgresql.org/pgsql-hackers/2006-10/msg00665.php</a> @@ -369,7 +343,7 @@ first. There is also a developer's wiki at<br/> <p> <a href="http://archives.postgresql.org/pgsql-patches/2007-08/msg00012.php">http://archives.postgresql.org/pgsql-patches/2007-08/msg00012.php</a> </p> </li></ul> -<h1><a name="section_6">Multi-Language Support</a></h1> +<h1><a name="section_5">Multi-Language Support</a></h1> <ul> <li>Add NCHAR (as distinguished from ordinary varchar), @@ -412,7 +386,7 @@ first. There is also a developer's wiki at<br/> <p> <a href="http://archives.postgresql.org/pgsql-hackers/2007-03/msg00767.php">http://archives.postgresql.org/pgsql-hackers/2007-03/msg00767.php</a> </p> </li></ul> -<h1><a name="section_7">Views / Rules</a></h1> +<h1><a name="section_6">Views / Rules</a></h1> <ul> <li>Automatically create rules on views so they are updateable, per SQL99 @@ -434,7 +408,7 @@ first. There is also a developer's wiki at<br/> <p> <a href="http://archives.postgresql.org/pgsql-hackers/2007-09/msg00577.php">http://archives.postgresql.org/pgsql-hackers/2007-09/msg00577.php</a> </p> </li></ul> -<h1><a name="section_8">SQL Commands</a></h1> +<h1><a name="section_7">SQL Commands</a></h1> <ul> <li>Add CORRESPONDING BY to UNION/INTERSECT/EXCEPT @@ -483,7 +457,6 @@ first. There is also a developer's wiki at<br/> </p> </li><li>Add NOVICE output level for helpful messages like automatic sequence/index creation - </li><li>-<em>Add RESET SESSION command to reset all session state</em> </li><li>Add GUC to issue notice about statements that use unjoined tables </li><li>Allow EXPLAIN to identify tables that were skipped because of constraint_exclusion @@ -584,8 +557,7 @@ first. There is also a developer's wiki at<br/> </li></ul> </li><li>CLUSTER <ul> - <li>-<em>Make CLUSTER preserve recently-dead tuples per MVCC requirements</em> - </li><li>Automatically maintain clustering on a table + <li>Automatically maintain clustering on a table <p> This might require some background daemon to maintain clustering during periods of low usage. It might also require tables to be only partially filled for easier reorganization. Another idea would @@ -601,8 +573,6 @@ first. There is also a developer's wiki at<br/> </p> </li><li>%Add VERBOSE option to report tables as they are processed, like VACUUM VERBOSE - </li><li>-<em>Add more logical syntax CLUSTER table USING index;</em> - support current syntax for backward compatibility </li></ul> </li><li>COPY <ul> @@ -633,8 +603,7 @@ first. There is also a developer's wiki at<br/> </li></ul> </li><li>CURSOR <ul> - <li>-<em>Allow UPDATE/DELETE WHERE CURRENT OF cursor</em> - </li><li>Prevent DROP TABLE from dropping a row referenced by its own open + <li>Prevent DROP TABLE from dropping a row referenced by its own open cursor? </li></ul> </li><li>INSERT @@ -701,7 +670,6 @@ first. There is also a developer's wiki at<br/> <a href="http://archives.postgresql.org/pgsql-patches/2006-06/msg00031.php">http://archives.postgresql.org/pgsql-patches/2006-06/msg00031.php</a> </p> </li><li>Add single-step debugging of functions - </li><li>-<em>Add support for MOVE cursors</em> </li><li>Add support for SCROLL cursors </li><li>Add support for WITH HOLD cursors </li><li>Allow RETURN to return row or record functions @@ -732,7 +700,6 @@ first. There is also a developer's wiki at<br/> </li><li>Add PL/PythonU tracebacks <p> <a href="http://archives.postgresql.org/pgsql-patches/2006-02/msg00288.php">http://archives.postgresql.org/pgsql-patches/2006-02/msg00288.php</a> </p> - </li><li>-<em>Allow PL/PythonU to return boolean rather than 1/0</em> </li><li>Allow data to be passed in native language formats, rather than only text <p> <a href="http://archives.postgresql.org/pgsql-hackers/2007-05/msg00289.php">http://archives.postgresql.org/pgsql-hackers/2007-05/msg00289.php</a> @@ -740,7 +707,7 @@ first. There is also a developer's wiki at<br/> </li></ul> </li></ul> </li></ul> -<h1><a name="section_9">Clients</a></h1> +<h1><a name="section_8">Clients</a></h1> <ul> <li>Have pg_ctl look at PGHOST in case it is a socket directory? @@ -766,8 +733,6 @@ first. There is also a developer's wiki at<br/> <p> <a href="http://archives.postgresql.org/pgsql-hackers/2004-11/msg00014.php">http://archives.postgresql.org/pgsql-hackers/2004-11/msg00014.php</a> <a href="http://archives.postgresql.org/pgsql-hackers/2004-11/msg00014.php">http://archives.postgresql.org/pgsql-hackers/2004-11/msg00014.php</a> </p> - </li><li>-<em>Allow psql \pset boolean variables to set to fixed values, rather</em> - than toggle </li><li>Consistently display privilege information for all objects in psql </li><li>Add auto-expanded mode so expanded output is used if the row length is wider than the screen width. @@ -808,7 +773,6 @@ first. There is also a developer's wiki at<br/> </li><li>Stop dumping CASCADE on DROP TYPE commands in clean mode </li><li>Allow pg_dump --clean to drop roles that own objects or have privileges - </li><li>-<em>Add -f to pg_dumpall</em> </li><li>Change pg_dump so that a comment on the dumped database is applied to the loaded database, even if the database has a different name. This will require new backend syntax, perhaps @@ -858,7 +822,7 @@ first. There is also a developer's wiki at<br/> </p> </li></ul> </p></ul> -<h1><a name="section_10">Triggers</a></h1> +<h1><a name="section_9">Triggers</a></h1> <ul> <li>Add deferred trigger queue file @@ -893,16 +857,7 @@ first. There is also a developer's wiki at<br/> <p> <a href="http://archives.postgresql.org/pgsql-general/2007-02/msg01466.php">http://archives.postgresql.org/pgsql-general/2007-02/msg01466.php</a> </p> </li></ul> -<h1><a name="section_11">Dependency Checking</a></h1> - -<ul> - <li>-<em>Flush cached query plans when the dependent objects change or</em> - when new ANALYZE statistics are available - </li><li>-<em>Track dependencies in function bodies and recompile/invalidate</em> - </li><li>-<em>Invalidate prepared queries, like INSERT, when the table definition</em> - is altered -</li></ul> -<h1><a name="section_12">Indexes</a></h1> +<h1><a name="section_10">Indexes</a></h1> <ul> <li>Add UNIQUE capability to non-btree indexes @@ -919,14 +874,11 @@ first. There is also a developer's wiki at<br/> <p> <a href="http://archives.postgresql.org/pgsql-patches/2005-07/msg00512.php">http://archives.postgresql.org/pgsql-patches/2005-07/msg00512.php</a> <a href="http://archives.postgresql.org/pgsql-hackers/2006-12/msg01107.php">http://archives.postgresql.org/pgsql-hackers/2006-12/msg01107.php</a> </p> - </li><li>-<em>Allow use of indexes to search for NULLs</em> </li><li>Allow accurate statistics to be collected on indexes with more than one column or expression indexes, perhaps using per-index statistics <p> <a href="http://archives.postgresql.org/pgsql-performance/2006-10/msg00222.php">http://archives.postgresql.org/pgsql-performance/2006-10/msg00222.php</a> <a href="http://archives.postgresql.org/pgsql-hackers/2007-03/msg01131.php">http://archives.postgresql.org/pgsql-hackers/2007-03/msg01131.php</a> </p> - </li><li>-<em>Allow the creation of indexes with mixed ascending/descending</em> - specifiers </li><li>Consider compressing indexes by storing key values duplicated in several rows as a single index entry <p> This is difficult because it requires datatype-specific knowledge. @@ -980,7 +932,7 @@ first. There is also a developer's wiki at<br/> </p> </li></ul> </li></ul> -<h1><a name="section_13">Fsync</a></h1> +<h1><a name="section_11">Fsync</a></h1> <ul> <li>Improve commit_delay handling to reduce fsync() @@ -991,10 +943,8 @@ first. There is also a developer's wiki at<br/> </p> </li><li>%Add an option to sync() before fsync()'ing checkpoint files </li><li>Add program to test if fsync has a delay compared to non-fsync - </li><li>-<em>Reduce checkpoint performance degredation by forcing data to disk</em> - more evenly </li></ul> -<h1><a name="section_14">Cache Usage</a></h1> +<h1><a name="section_12">Cache Usage</a></h1> <ul> <li>Allow free-behind capability for large sequential scans to avoid @@ -1046,8 +996,6 @@ first. There is also a developer's wiki at<br/> </li><li>Query execute plan </li><li>Query results </li></ul> - </li><li>-<em>Allow sequential scans to take advantage of other concurrent</em> - sequential scans, also called "Synchronised Scanning" </li><li>Consider increasing internal areas when shared buffers is increased <p> <a href="http://archives.postgresql.org/pgsql-hackers/2005-10/msg01419.php">http://archives.postgresql.org/pgsql-hackers/2005-10/msg01419.php</a> </p> @@ -1056,7 +1004,7 @@ first. There is also a developer's wiki at<br/> <a href="http://archives.postgresql.org/pgsql-hackers/2007-01/msg00752.php">http://archives.postgresql.org/pgsql-hackers/2007-01/msg00752.php</a> </p> </li></ul> -<h1><a name="section_15">Vacuum</a></h1> +<h1><a name="section_13">Vacuum</a></h1> <ul> <li>Improve speed with indexes @@ -1095,13 +1043,9 @@ first. There is also a developer's wiki at<br/> in hopes that empty pages at the end can be truncated by VACUUM </li><li>Allow FSM page return free space based on table clustering, to assist in maintaining clustering? - </li><li>-<em>Consider shrinking expired tuples to just their headers</em> - </li><li>-<em>Allow heap reuse of UPDATEd rows if no indexed columns are changed,</em> - and old and new versions are on the same heap page </li><li>Improve dead row detection during multi-statement transactions usage <p> <a href="http://archives.postgresql.org/pgsql-patches/2007-03/msg00358.php">http://archives.postgresql.org/pgsql-patches/2007-03/msg00358.php</a> </p> - </li><li>-<em>Reduce XID consumption of read-only queries</em> </li><li>Prevent long-lived temporary tables from causing frozen-xid advancement starvation </li></ul> @@ -1115,9 +1059,6 @@ first. There is also a developer's wiki at<br/> </li><li>%Issue log message to suggest VACUUM FULL if a table is nearly empty? </li><li>Consider logging activity either to the logs or a system view - </li><li>-<em>Turn on by default</em> - </li><li>-<em>Allow multiple vacuums so large tables do not starve small</em> - tables </li><li>Improve control of auto-vacuum <p> <a href="http://archives.postgresql.org/pgsql-hackers/2006-12/msg00876.php">http://archives.postgresql.org/pgsql-hackers/2006-12/msg00876.php</a> </p> @@ -1127,7 +1068,7 @@ first. There is also a developer's wiki at<br/> </p> </li></ul> </li></ul> -<h1><a name="section_16">Locking</a></h1> +<h1><a name="section_14">Locking</a></h1> <ul> <li>Fix priority ordering of read and write light-weight locks (Neil) @@ -1147,7 +1088,7 @@ first. There is also a developer's wiki at<br/> </li><li>Add idle_in_transaction_timeout GUC so locks are not held for long periods of time </li></ul> -<h1><a name="section_17">Startup Time Improvements</a></h1> +<h1><a name="section_15">Startup Time Improvements</a></h1> <ul> <li>Experiment with multi-threaded backend for backend creation [<a href="http://momjian.postgresql.org/cgi-bin/pgtodo?thread">thread</a>] @@ -1170,7 +1111,7 @@ first. There is also a developer's wiki at<br/> existing backends is one of the difficulties with a backend approach. </p> </li></ul> -<h1><a name="section_18">Write-Ahead Log</a></h1> +<h1><a name="section_16">Write-Ahead Log</a></h1> <ul> <li>Eliminate need to write full pages to WAL before page modification [<a href="http://momjian.postgresql.org/cgi-bin/pgtodo?wal">wal</a>] @@ -1199,8 +1140,6 @@ first. There is also a developer's wiki at<br/> entire rows <p> <a href="http://archives.postgresql.org/pgsql-hackers/2007-03/msg01589.php">http://archives.postgresql.org/pgsql-hackers/2007-03/msg01589.php</a> </p> - </li><li>-<em>Allow the pg_xlog directory location to be specified during initdb</em> - with a symlink back to the /data location </li><li>Allow WAL information to recover corrupted pg_controldata <p> <a href="http://archives.postgresql.org/pgsql-patches/2006-06/msg00025.php">http://archives.postgresql.org/pgsql-patches/2006-06/msg00025.php</a> </p> @@ -1210,7 +1149,6 @@ first. There is also a developer's wiki at<br/> rotation to fsync again. One idea is to write the WAL to different offsets that might reduce the rotational delay. </p> - </li><li>-<em>Allow buffered WAL writes and fsync</em> </li><li>Allow WAL logging to be turned off for a table, but the table might be dropped or truncated during crash recovery [<a href="http://momjian.postgresql.org/cgi-bin/pgtodo?walcontrol">walcontrol</a>] <p> Allow tables to bypass WAL writes and just fsync() dirty pages on @@ -1229,12 +1167,10 @@ first. There is also a developer's wiki at<br/> of indexes on TOAST tables. </p> </li></ul> -<h1><a name="section_19">Optimizer / Executor</a></h1> +<h1><a name="section_17">Optimizer / Executor</a></h1> <ul> <li>Improve selectivity functions for geometric operators - </li><li>-<em>Allow ORDER BY ... LIMIT # to select high/low value without sort or</em> - index using a sequential scan for highest/lowest values </li><li>Precompile SQL functions to avoid overhead </li><li>Create utility to compute accurate random_page_cost value </li><li>Improve ability to display optimizer analysis using OPTIMIZER_DEBUG @@ -1254,7 +1190,7 @@ first. There is also a developer's wiki at<br/> <p> <a href="http://archives.postgresql.org/pgsql-hackers/2007-01/msg00096.php">http://archives.postgresql.org/pgsql-hackers/2007-01/msg00096.php</a> </p> </li></ul> -<h1><a name="section_20">Miscellaneous Performance</a></h1> +<h1><a name="section_18">Miscellaneous Performance</a></h1> <ul> <li>Do async I/O for faster random read-ahead of data @@ -1277,11 +1213,9 @@ first. There is also a developer's wiki at<br/> could hit disk before WAL is written. </p> </li><li>Add a script to ask system configuration questions and tune postgresql.conf - </li><li>-<em>Merge xmin/xmax/cmin/cmax back into three header fields</em> </li><li>Consider ways of storing rows more compactly on disk <ul> - <li>-<em>Support a smaller header for short variable-length fields</em> - </li><li>Reduce the row header size? + <li>Reduce the row header size? </li><li>Consider reducing on-disk varlena length from four bytes to two because a heap row cannot be more than 64k in length </li></ul> @@ -1301,7 +1235,7 @@ first. There is also a developer's wiki at<br/> <p> <a href="http://archives.postgresql.org/pgsql-hackers/2007-01/msg00752.php">http://archives.postgresql.org/pgsql-hackers/2007-01/msg00752.php</a> </p> </li></ul> -<h1><a name="section_21">Source Code</a></h1> +<h1><a name="section_19">Source Code</a></h1> <ul> <li>Add use of 'const' for variables in source tree @@ -1345,17 +1279,12 @@ first. There is also a developer's wiki at<br/> </li><li>Consider changing documentation format from SGML to XML <p> <a href="http://archives.postgresql.org/pgsql-docs/2006-12/msg00152.php">http://archives.postgresql.org/pgsql-docs/2006-12/msg00152.php</a> </p> - </li><li>-<em>Move NAMEDATALEN from postgres_ext.h to pg_config_manual.h</em> </li><li>Consider making NAMEDATALEN more configurable in future releases </li><li>Update our code to handle 64-bit timezone files to match the zic source code, which now uses them </li><li>Have configure choose integer datetimes by default <p> <a href="http://archives.postgresql.org/pgsql-patches/2007-05/msg00046.php">http://archives.postgresql.org/pgsql-patches/2007-05/msg00046.php</a> </p> - </li><li>-<em>Fix problem with excessive logging during SSL disconnection</em> -<p> <a href="http://archives.postgresql.org/pgsql-bugs/2006-12/msg00122.php">http://archives.postgresql.org/pgsql-bugs/2006-12/msg00122.php</a> - <a href="http://archives.postgresql.org/pgsql-bugs/2007-05/msg00065.php">http://archives.postgresql.org/pgsql-bugs/2007-05/msg00065.php</a> -</p> </li><li>Support scoped IPv6 addresses <p> <a href="http://archives.postgresql.org/pgsql-bugs/2007-05/msg00111.php">http://archives.postgresql.org/pgsql-bugs/2007-05/msg00111.php</a> </p> @@ -1379,7 +1308,6 @@ first. There is also a developer's wiki at<br/> </li><li>Improve signal handling <p> <a href="http://archives.postgresql.org/pgsql-patches/2005-06/msg00027.php">http://archives.postgresql.org/pgsql-patches/2005-06/msg00027.php</a> </p> - </li><li>-<em>Add long file support for binary pg_dump output</em> </li></ul> </li><li>Wire Protocol Changes <ul> @@ -1390,7 +1318,7 @@ first. There is also a developer's wiki at<br/> of result sets using new statement protocol </li></ul> </li></ul> -<h1><a name="section_22">Exotic Features</a></h1> +<h1><a name="section_20">Exotic Features</a></h1> <ul> <li>Add pre-parsing phase that converts non-ISO syntax to supported @@ -1416,7 +1344,7 @@ first. There is also a developer's wiki at<br/> <a href="http://archives.postgresql.org/pgsql-hackers/2006-10/msg01527.php">http://archives.postgresql.org/pgsql-hackers/2006-10/msg01527.php</a> </p> </li></ul> -<h1><a name="section_23">Features We Do <u>Not</u> Want</a></h1> +<h1><a name="section_21">Features We Do <u>Not</u> Want</a></h1> <ul> <li>All backends running as threads in a single process (not wanted) |