22"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
33< html >
44< head >
5- < title > c </ title >
5+ < title > PostgreSQL TODO List </ title >
66< meta name ="generator "content ="HTML::TextToHTML v2.25 "/>
77</ head >
88< body bgcolor ="#FFFFFF "text ="#000000 "link ="#FF0000 "vlink ="#A00000 "alink ="#0000FF ">
9- < p > c< br />
10- PostgreSQL TODO List
11- </ p > < hr />
12- Current maintainer: Bruce Momjian (< a href ="mailto:bruce@momjian.us "> bruce@momjian.us</ a > )< br />
13- Last updated: Sat Sep 2 08:31:04 EDT 2006
14-
9+ < h1 > < a name ="section_1 "> PostgreSQL TODO List</ a > </ h1 >
10+ < p > Current maintainer: Bruce Momjian (< a href ="mailto:bruce@momjian.us "> bruce@momjian.us</ a > )< br />
11+ Last updated: Sat Sep 2 16:31:46 EDT 2006
12+ </ p >
1513< p > The most recent version of this document can be viewed at< br />
1614< a href ="http://www.postgresql.org/docs/faqs.TODO.html "> http://www.postgresql.org/docs/faqs.TODO.html</ a > .
1715</ p >
2422you would like to work on an item, please read the Developer's FAQ< br />
2523first.
2624</ p >
27- < h1 > < a name ="section_1 "> Administration</ a > </ h1 >
25+ < h1 > < a name ="section_2 "> Administration</ a > </ h1 >
2826
2927< ul >
3028< li > -< em > Make postmater and postgres options distinct so the postmaster -o</ em >
@@ -152,7 +150,7 @@ <h1><a name="section_1">Administration</a></h1>
152150</ li > < li > Allow the PITR process to be debugged and data examined
153151</ li > </ ul >
154152</ li > </ ul >
155- < h1 > < a name ="section_2 "> Monitoring</ a > </ h1 >
153+ < h1 > < a name ="section_3 "> Monitoring</ a > </ h1 >
156154
157155< ul >
158156< li > Allow server log information to be output as INSERT statements
@@ -163,7 +161,7 @@ <h1><a name="section_2">Monitoring</a></h1>
163161</ li > < li > -< em > Allow server logs to be remotely read and removed using SQL commands</ em >
164162</ li > < li > -< em > Allow protocol-level BIND parameter values to be logged, if text mode</ em >
165163</ li > </ ul >
166- < h1 > < a name ="section_3 "> Data Types</ a > </ h1 >
164+ < h1 > < a name ="section_4 "> Data Types</ a > </ h1 >
167165
168166< ul >
169167< li > Improve the MONEY data type
@@ -298,7 +296,7 @@ <h1><a name="section_3">Data Types</a></h1>
298296</ li > </ ul >
299297</ li > </ ul >
300298</ li > </ ul >
301- < h1 > < a name ="section_4 "> Functions</ a > </ h1 >
299+ < h1 > < a name ="section_5 "> Functions</ a > </ h1 >
302300
303301< ul >
304302< li > Allow INET subnet tests using non-constants to be indexed
@@ -341,7 +339,7 @@ <h1><a name="section_4">Functions</a></h1>
341339</ li > < li > Add SPI_gettypmod() to return the typemod for a TupleDesc
342340</ li > < li > Allow inlining of set-returning functions
343341</ li > </ ul >
344- < h1 > < a name ="section_5 "> Multi-Language Support</ a > </ h1 >
342+ < h1 > < a name ="section_6 "> Multi-Language Support</ a > </ h1 >
345343
346344< ul >
347345< li > Add NCHAR (as distinguished from ordinary varchar),
@@ -372,7 +370,7 @@ <h1><a name="section_5">Multi-Language Support</a></h1>
372370< a href ="http://archives.postgresql.org/pgsql-patches/2005-11/msg00173.php "> http://archives.postgresql.org/pgsql-patches/2005-11/msg00173.php</ a >
373371</ p >
374372</ li > </ ul >
375- < h1 > < a name ="section_6 "> Views / Rules</ a > </ h1 >
373+ < h1 > < a name ="section_7 "> Views / Rules</ a > </ h1 >
376374
377375< ul >
378376< li > Automatically create rules on views so they are updateable, per SQL99
@@ -388,7 +386,7 @@ <h1><a name="section_6">Views / Rules</a></h1>
388386 are added after the view is created.
389387</ p >
390388</ li > </ ul >
391- < h1 > < a name ="section_7 "> SQL Commands</ a > </ h1 >
389+ < h1 > < a name ="section_8 "> SQL Commands</ a > </ h1 >
392390
393391< ul >
394392< li > -< em > Change LIMIT/OFFSET and FETCH/MOVE to use int8</ em >
@@ -498,10 +496,10 @@ <h1><a name="section_7">SQL Commands</a></h1>
498496< ul >
499497< li > -< em > Allow an alias to be provided for the target table in</ em >
500498 UPDATE/DELETE (Neil)
501- </ li > < li > Allow UPDATE tab SET ROW (col, ...) = (...) for updating multiple
502- columns
503- < p > A subselect can also be used as the value source.
504- < a href ="http://archives.postgresql.org/pgsql-hackers/2006-07/msg01306.php "> http://archives.postgresql.org/pgsql-hackers/2006-07/msg01306.php</ a >
499+ </ li > < li > - < em > Allow UPDATE tab SET ROW (col, ...) = (val, ...) for updating</ em >
500+ multiple columns
501+ </ li > < li > Allow UPDATE tab SET ROW (col, ...) = (SELECT...)
502+ < p > < a href ="http://archives.postgresql.org/pgsql-hackers/2006-07/msg01306.php "> http://archives.postgresql.org/pgsql-hackers/2006-07/msg01306.php</ a >
505503</ p >
506504</ li > </ ul >
507505</ li > < li > ALTER
@@ -679,7 +677,7 @@ <h1><a name="section_7">SQL Commands</a></h1>
679677</ li > </ ul >
680678</ li > </ ul >
681679</ li > </ ul >
682- < h1 > < a name ="section_8 "> Clients</ a > </ h1 >
680+ < h1 > < a name ="section_9 "> Clients</ a > </ h1 >
683681
684682< ul >
685683< li > -< em > Have initdb set the input DateStyle (MDY or DMY) based on locale</ em >
@@ -788,7 +786,7 @@ <h1><a name="section_8">Clients</a></h1>
788786</ p >
789787</ li > </ ul >
790788</ li > </ ul >
791- < h1 > < a name ="section_9 "> Triggers</ a > </ h1 >
789+ < h1 > < a name ="section_10 "> Triggers</ a > </ h1 >
792790< ul >
793791< li > Add deferred trigger queue file
794792< p > Right now all deferred trigger information is stored in backend
@@ -816,7 +814,7 @@ <h1><a name="section_9">Triggers</a></h1>
816814 to fire triggers.
817815</ p >
818816</ li > </ ul >
819- < h1 > < a name ="section_10 "> Dependency Checking</ a > </ h1 >
817+ < h1 > < a name ="section_11 "> Dependency Checking</ a > </ h1 >
820818
821819< ul >
822820< li > Flush cached query plans when the dependent objects change,
@@ -833,7 +831,7 @@ <h1><a name="section_10">Dependency Checking</a></h1>
833831 invalidate its own query plan.
834832</ p >
835833</ li > </ ul >
836- < h1 > < a name ="section_11 "> Exotic Features</ a > </ h1 >
834+ < h1 > < a name ="section_12 "> Exotic Features</ a > </ h1 >
837835
838836< ul >
839837< li > Add pre-parsing phase that converts non-ISO syntax to supported
@@ -860,7 +858,7 @@ <h1><a name="section_11">Exotic Features</a></h1>
860858< p > < a href ="http://archives.postgresql.org/pgsql-hackers/2004-04/msg00818.php "> http://archives.postgresql.org/pgsql-hackers/2004-04/msg00818.php</ a >
861859</ p >
862860</ li > </ ul >
863- < h1 > < a name ="section_12 "> Indexes</ a > </ h1 >
861+ < h1 > < a name ="section_13 "> Indexes</ a > </ h1 >
864862
865863< ul >
866864< li > Allow inherited tables to inherit index, UNIQUE constraint, and primary
@@ -927,7 +925,7 @@ <h1><a name="section_12">Indexes</a></h1>
927925</ li > < li > Allow multi-column hash indexes
928926</ li > </ ul >
929927</ li > </ ul >
930- < h1 > < a name ="section_13 "> Fsync</ a > </ h1 >
928+ < h1 > < a name ="section_14 "> Fsync</ a > </ h1 >
931929
932930< ul >
933931< li > Improve commit_delay handling to reduce fsync()
@@ -939,7 +937,7 @@ <h1><a name="section_13">Fsync</a></h1>
939937</ li > < li > %Add an option to sync() before fsync()'ing checkpoint files
940938</ li > < li > Add program to test if fsync has a delay compared to non-fsync
941939</ li > </ ul >
942- < h1 > < a name ="section_14 "> Cache Usage</ a > </ h1 >
940+ < h1 > < a name ="section_15 "> Cache Usage</ a > </ h1 >
943941
944942< ul >
945943< li > Allow free-behind capability for large sequential scans, perhaps using
@@ -993,7 +991,7 @@ <h1><a name="section_14">Cache Usage</a></h1>
993991< p > < a href ="http://archives.postgresql.org/pgsql-hackers/2005-10/msg01419.php "> http://archives.postgresql.org/pgsql-hackers/2005-10/msg01419.php</ a >
994992</ p >
995993</ li > </ ul >
996- < h1 > < a name ="section_15 "> Vacuum</ a > </ h1 >
994+ < h1 > < a name ="section_16 "> Vacuum</ a > </ h1 >
997995
998996< ul >
999997< li > Improve speed with indexes
@@ -1051,12 +1049,12 @@ <h1><a name="section_15">Vacuum</a></h1>
10511049</ li > < li > Turn on by default
10521050</ li > </ ul >
10531051</ li > </ ul >
1054- < h1 > < a name ="section_16 "> Locking</ a > </ h1 >
1052+ < h1 > < a name ="section_17 "> Locking</ a > </ h1 >
10551053
10561054< ul >
10571055< li > Fix priority ordering of read and write light-weight locks (Neil)
10581056</ li > </ ul >
1059- < h1 > < a name ="section_17 "> Startup Time Improvements</ a > </ h1 >
1057+ < h1 > < a name ="section_18 "> Startup Time Improvements</ a > </ h1 >
10601058
10611059< ul >
10621060< li > Experiment with multi-threaded backend for backend creation [< a href ="http://momjian.postgresql.org/cgi-bin/pgtodo?thread "> thread</ a > ]
@@ -1079,7 +1077,7 @@ <h1><a name="section_17">Startup Time Improvements</a></h1>
10791077 existing backends is one of the difficulties with a backend approach.
10801078</ p >
10811079</ li > </ ul >
1082- < h1 > < a name ="section_18 "> Write-Ahead Log</ a > </ h1 >
1080+ < h1 > < a name ="section_19 "> Write-Ahead Log</ a > </ h1 >
10831081
10841082< ul >
10851083< li > Eliminate need to write full pages to WAL before page modification [< a href ="http://momjian.postgresql.org/cgi-bin/pgtodo?wal "> wal</ a > ]
@@ -1143,7 +1141,7 @@ <h1><a name="section_18">Write-Ahead Log</a></h1>
11431141 of indexes on TOAST tables.
11441142</ p >
11451143</ li > </ ul >
1146- < h1 > < a name ="section_19 "> Optimizer / Executor</ a > </ h1 >
1144+ < h1 > < a name ="section_20 "> Optimizer / Executor</ a > </ h1 >
11471145
11481146< ul >
11491147< li > Improve selectivity functions for geometric operators
@@ -1168,7 +1166,7 @@ <h1><a name="section_19">Optimizer / Executor</a></h1>
11681166< p > This might replace GEQO,< a href ="http://sixdemonbag.org/Djinni "> http://sixdemonbag.org/Djinni</ a > .
11691167</ p >
11701168</ li > </ ul >
1171- < h1 > < a name ="section_20 "> Miscellaneous Performance</ a > </ h1 >
1169+ < h1 > < a name ="section_21 "> Miscellaneous Performance</ a > </ h1 >
11721170
11731171< ul >
11741172< li > Do async I/O for faster random read-ahead of data
@@ -1211,7 +1209,7 @@ <h1><a name="section_20">Miscellaneous Performance</a></h1>
12111209</ p >
12121210</ li > < li > Research storing disk pages with no alignment/padding
12131211</ li > </ ul >
1214- < h1 > < a name ="section_21 "> Source Code</ a > </ h1 >
1212+ < h1 > < a name ="section_22 "> Source Code</ a > </ h1 >
12151213
12161214< ul >
12171215< li > Add use of 'const' for variables in source tree
@@ -1293,7 +1291,7 @@ <h1><a name="section_21">Source Code</a></h1>
12931291 of result sets using new statement protocol
12941292</ li > </ ul >
12951293</ li > </ ul >
1296- < h1 > < a name ="section_22 "> Features We Do _Not_ Want</ a > </ h1 >
1294+ < h1 > < a name ="section_23 "> Features We Do _Not_ Want</ a > </ h1 >
12971295
12981296< ul >
12991297< li > All backends running as threads in a single process (not wanted)
@@ -1314,7 +1312,7 @@ <h1><a name="section_22">Features We Do _Not_ Want</a></h1>
13141312</ li > </ ul >
13151313< hr />
13161314
1317- < h2 > < a name ="section_22_1 "> Developers who have claimed items are:</ a > </ h2 >
1315+ < h2 > < a name ="section_23_1 "> Developers who have claimed items are:</ a > </ h2 >
13181316< ul >
13191317< li > Alvaro is Alvaro Herrera << a href ="mailto:alvherre@dcc.uchile.cl "> alvherre@dcc.uchile.cl</ a > >
13201318</ li > < li > Andrew is Andrew Dunstan << a href ="mailto:andrew@dunslane.net "> andrew@dunslane.net</ a > >