|
|
|
@ -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: Fri Sep 29 23:55:30 EDT 2006 |
|
|
|
|
Last updated: Mon Oct 2 09:59:50 EDT 2006 |
|
|
|
|
</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>. |
|
|
|
@ -769,34 +769,7 @@ first. |
|
|
|
|
invalidate its own query plan. |
|
|
|
|
</p> |
|
|
|
|
</li></ul> |
|
|
|
|
<h1><a name="section_12">Exotic Features</a></h1> |
|
|
|
|
|
|
|
|
|
<ul> |
|
|
|
|
<li>Add pre-parsing phase that converts non-ISO syntax to supported |
|
|
|
|
syntax |
|
|
|
|
<p> This could allow SQL written for other databases to run without |
|
|
|
|
modification. |
|
|
|
|
</p> |
|
|
|
|
</li><li>Allow plug-in modules to emulate features from other databases |
|
|
|
|
</li><li>SQL*Net listener that makes PostgreSQL appear as an Oracle database |
|
|
|
|
to clients |
|
|
|
|
</li><li>Allow statements across databases or servers with transaction |
|
|
|
|
semantics |
|
|
|
|
<p> This can be done using dblink and two-phase commit. |
|
|
|
|
</p> |
|
|
|
|
</li><li>Add the features of packages |
|
|
|
|
<ul> |
|
|
|
|
<li>Make private objects accessible only to objects in the same schema |
|
|
|
|
</li><li>Allow current_schema.objname to access current schema objects |
|
|
|
|
</li><li>Add session variables |
|
|
|
|
</li><li>Allow nested schemas |
|
|
|
|
</li></ul> |
|
|
|
|
</li><li>Consider allowing control of upper/lower case folding of unquoted |
|
|
|
|
identifiers |
|
|
|
|
<p> <a href="http://archives.postgresql.org/pgsql-hackers/2004-04/msg00818.php">http://archives.postgresql.org/pgsql-hackers/2004-04/msg00818.php</a> |
|
|
|
|
</p> |
|
|
|
|
</li></ul> |
|
|
|
|
<h1><a name="section_13">Indexes</a></h1> |
|
|
|
|
<h1><a name="section_12">Indexes</a></h1> |
|
|
|
|
|
|
|
|
|
<ul> |
|
|
|
|
<li>Allow inherited tables to inherit index, UNIQUE constraint, and primary |
|
|
|
@ -862,7 +835,7 @@ first. |
|
|
|
|
</li><li>Allow multi-column hash indexes |
|
|
|
|
</li></ul> |
|
|
|
|
</li></ul> |
|
|
|
|
<h1><a name="section_14">Fsync</a></h1> |
|
|
|
|
<h1><a name="section_13">Fsync</a></h1> |
|
|
|
|
|
|
|
|
|
<ul> |
|
|
|
|
<li>Improve commit_delay handling to reduce fsync() |
|
|
|
@ -874,7 +847,7 @@ first. |
|
|
|
|
</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></ul> |
|
|
|
|
<h1><a name="section_15">Cache Usage</a></h1> |
|
|
|
|
<h1><a name="section_14">Cache Usage</a></h1> |
|
|
|
|
|
|
|
|
|
<ul> |
|
|
|
|
<li>Allow free-behind capability for large sequential scans, perhaps using |
|
|
|
@ -928,7 +901,7 @@ first. |
|
|
|
|
<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> |
|
|
|
|
</li></ul> |
|
|
|
|
<h1><a name="section_16">Vacuum</a></h1> |
|
|
|
|
<h1><a name="section_15">Vacuum</a></h1> |
|
|
|
|
|
|
|
|
|
<ul> |
|
|
|
|
<li>Improve speed with indexes |
|
|
|
@ -987,12 +960,12 @@ first. |
|
|
|
|
</p> |
|
|
|
|
</li></ul> |
|
|
|
|
</li></ul> |
|
|
|
|
<h1><a name="section_17">Locking</a></h1> |
|
|
|
|
<h1><a name="section_16">Locking</a></h1> |
|
|
|
|
|
|
|
|
|
<ul> |
|
|
|
|
<li>Fix priority ordering of read and write light-weight locks (Neil) |
|
|
|
|
</li></ul> |
|
|
|
|
<h1><a name="section_18">Startup Time Improvements</a></h1> |
|
|
|
|
<h1><a name="section_17">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>] |
|
|
|
@ -1015,7 +988,7 @@ first. |
|
|
|
|
existing backends is one of the difficulties with a backend approach. |
|
|
|
|
</p> |
|
|
|
|
</li></ul> |
|
|
|
|
<h1><a name="section_19">Write-Ahead Log</a></h1> |
|
|
|
|
<h1><a name="section_18">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>] |
|
|
|
@ -1079,7 +1052,7 @@ first. |
|
|
|
|
of indexes on TOAST tables. |
|
|
|
|
</p> |
|
|
|
|
</li></ul> |
|
|
|
|
<h1><a name="section_20">Optimizer / Executor</a></h1> |
|
|
|
|
<h1><a name="section_19">Optimizer / Executor</a></h1> |
|
|
|
|
|
|
|
|
|
<ul> |
|
|
|
|
<li>Improve selectivity functions for geometric operators |
|
|
|
@ -1104,7 +1077,7 @@ first. |
|
|
|
|
<p> This might replace GEQO, <a href="http://sixdemonbag.org/Djinni">http://sixdemonbag.org/Djinni</a>. |
|
|
|
|
</p> |
|
|
|
|
</li></ul> |
|
|
|
|
<h1><a name="section_21">Miscellaneous Performance</a></h1> |
|
|
|
|
<h1><a name="section_20">Miscellaneous Performance</a></h1> |
|
|
|
|
|
|
|
|
|
<ul> |
|
|
|
|
<li>Do async I/O for faster random read-ahead of data |
|
|
|
@ -1158,7 +1131,7 @@ first. |
|
|
|
|
</li><li>Reduce the row header size? |
|
|
|
|
</li></ul> |
|
|
|
|
</li></ul> |
|
|
|
|
<h1><a name="section_22">Source Code</a></h1> |
|
|
|
|
<h1><a name="section_21">Source Code</a></h1> |
|
|
|
|
|
|
|
|
|
<ul> |
|
|
|
|
<li>Add use of 'const' for variables in source tree |
|
|
|
@ -1231,6 +1204,33 @@ first. |
|
|
|
|
of result sets using new statement protocol |
|
|
|
|
</li></ul> |
|
|
|
|
</li></ul> |
|
|
|
|
<h1><a name="section_22">Exotic Features</a></h1> |
|
|
|
|
|
|
|
|
|
<ul> |
|
|
|
|
<li>Add pre-parsing phase that converts non-ISO syntax to supported |
|
|
|
|
syntax |
|
|
|
|
<p> This could allow SQL written for other databases to run without |
|
|
|
|
modification. |
|
|
|
|
</p> |
|
|
|
|
</li><li>Allow plug-in modules to emulate features from other databases |
|
|
|
|
</li><li>SQL*Net listener that makes PostgreSQL appear as an Oracle database |
|
|
|
|
to clients |
|
|
|
|
</li><li>Allow statements across databases or servers with transaction |
|
|
|
|
semantics |
|
|
|
|
<p> This can be done using dblink and two-phase commit. |
|
|
|
|
</p> |
|
|
|
|
</li><li>Add the features of packages |
|
|
|
|
<ul> |
|
|
|
|
<li>Make private objects accessible only to objects in the same schema |
|
|
|
|
</li><li>Allow current_schema.objname to access current schema objects |
|
|
|
|
</li><li>Add session variables |
|
|
|
|
</li><li>Allow nested schemas |
|
|
|
|
</li></ul> |
|
|
|
|
</li><li>Consider allowing control of upper/lower case folding of unquoted |
|
|
|
|
identifiers |
|
|
|
|
<p> <a href="http://archives.postgresql.org/pgsql-hackers/2004-04/msg00818.php">http://archives.postgresql.org/pgsql-hackers/2004-04/msg00818.php</a> |
|
|
|
|
</p> |
|
|
|
|
</li></ul> |
|
|
|
|
<h1><a name="section_23">Features We Do _Not_ Want</a></h1> |
|
|
|
|
|
|
|
|
|
<ul> |
|
|
|
|