8
8
< body bgcolor ="#FFFFFF " text ="#000000 " link ="#FF0000 " vlink ="#A00000 " alink ="#0000FF ">
9
9
< h1 > < a name ="section_1 "> PostgreSQL TODO List</ a > </ h1 >
10
10
< p > Current maintainer: Bruce Momjian (< a href ="mailto:pgman@candle.pha.pa.us "> pgman@candle.pha.pa.us</ a > )< br />
11
- Last updated: Tue May 10 18:26:46 EDT 2005
11
+ Last updated: Mon May 16 19:35:37 EDT 2005
12
12
</ p >
13
13
< p > The most recent version of this document can be viewed at< br />
14
14
< a href ="http://www.postgresql.org/docs/faqs.TODO.html "> http://www.postgresql.org/docs/faqs.TODO.html</ a > .
@@ -82,7 +82,7 @@ <h1><a name="section_2">Administration</a></h1>
82
82
</ li > < li > Allow WAL replay of CREATE TABLESPACE to work when the directory
83
83
structure on the recovery computer is different from the original
84
84
</ li > < li > Add "include file" functionality in postgresql.conf
85
- </ li > < li > -Add session start time and last statement time to pg_stat_activity
85
+ </ li > < li > * -Add session start time and last statement time to pg_stat_activity*
86
86
</ li > < li > Allow server logs to be remotely read using SQL commands
87
87
</ li > < li > Allow pg_hba.conf settings to be controlled via SQL
88
88
< p > This would require a new global table that is dumped to flat file for
@@ -122,7 +122,7 @@ <h1><a name="section_2">Administration</a></h1>
122
122
< p > This is useful for checking PITR recovery.
123
123
</ p >
124
124
</ li > < li > Allow the PITR process to be debugged and data examined
125
- </ li > < li > -Add the client IP address and port to pg_stat_activity
125
+ </ li > < li > * -Add the client IP address and port to pg_stat_activity*
126
126
</ li > < li > Improve replication solutions
127
127
< ul >
128
128
< li > Load balancing
@@ -279,7 +279,7 @@ <h1><a name="section_6">Indexes</a></h1>
279
279
</ p >
280
280
</ li > < li > Add UNIQUE capability to non-btree indexes
281
281
</ li > < li > Add rtree index support for line, lseg, path, point
282
- </ li > < li > -Use indexes for MIN() and MAX()
282
+ </ li > < li > * -Use indexes for MIN() and MAX()*
283
283
< p > MIN/MAX queries can already be rewritten as SELECT col FROM tab ORDER
284
284
BY col {DESC} LIMIT 1. Completing this item involves doing this
285
285
transformation automatically.
@@ -300,7 +300,7 @@ <h1><a name="section_6">Indexes</a></h1>
300
300
order. Another method would be to sort heap ctids matching the index
301
301
before accessing the heap rows.
302
302
</ p >
303
- </ li > < li > -Allow non-bitmap indexes to be combined by creating bitmaps in memory
303
+ </ li > < li > * -Allow non-bitmap indexes to be combined by creating bitmaps in memory*
304
304
< p > This feature allows separate indexes to be ANDed or ORed together. This
305
305
is particularly useful for data warehousing applications that need to
306
306
query the database in an many permutations. This feature scans an index
@@ -345,7 +345,7 @@ <h1><a name="section_7">Commands</a></h1>
345
345
</ li > < li > Allow an alias to be provided for the target table in UPDATE/DELETE
346
346
< p > This is not SQL-spec but many DBMSs allow it.
347
347
</ p >
348
- </ li > < li > -Allow additional tables to be specified in DELETE for joins
348
+ </ li > < li > * -Allow additional tables to be specified in DELETE for joins*
349
349
< p > UPDATE already allows this (UPDATE...FROM) but we need similar
350
350
functionality in DELETE. It's been agreed that the keyword should
351
351
be USING, to avoid anything as confusing as DELETE FROM a FROM b.
@@ -582,7 +582,7 @@ <h1><a name="section_9">Referential Integrity</a></h1>
582
582
memory. This could exhaust memory for very large trigger queues.
583
583
This item involves dumping large queues into files.
584
584
</ p >
585
- </ li > < li > -Implement shared row locks and use them in RI triggers
585
+ </ li > < li > * -Implement shared row locks and use them in RI triggers*
586
586
</ li > < li > Enforce referential integrity for system tables
587
587
</ li > < li > Change foreign key constraint for array -> element to mean element
588
588
in array (?)
@@ -661,7 +661,7 @@ <h1><a name="section_13">Cache</a></h1>
661
661
</ p >
662
662
</ li > < li > Consider use of open/fcntl(O_DIRECT) to minimize OS caching,
663
663
especially for WAL writes
664
- </ li > < li > -Cache last known per-tuple offsets to speed long tuple access
664
+ </ li > < li > * -Cache last known per-tuple offsets to speed long tuple access*
665
665
</ li > < li > Speed up COUNT(*)
666
666
< p > We could use a fixed row count and a +/- count to follow MVCC
667
667
visibility rules, or a single cached value could be used and
@@ -684,7 +684,7 @@ <h1><a name="section_13">Cache</a></h1>
684
684
</ li > < li > Query execute plan
685
685
</ li > < li > Query results
686
686
</ li > </ ul >
687
- </ li > < li > -Allow the size of the buffer cache used by temporary objects to be
687
+ </ li > < li > * -Allow the size of the buffer cache used by temporary objects to be*
688
688
specified as a GUC variable
689
689
< p > Larger local buffer cache sizes requires more efficient handling of
690
690
local cache lookups.
@@ -715,7 +715,7 @@ <h1><a name="section_14">Vacuum</a></h1>
715
715
write lock. However, the read lock promotion to write lock could lead
716
716
to deadlock situations.
717
717
</ p >
718
- </ li > < li > -Add a warning when the free space map is too small
718
+ </ li > < li > * -Add a warning when the free space map is too small*
719
719
</ li > < li > Maintain a map of recently-expired rows
720
720
< p > This allows vacuum to target specific pages for possible free space
721
721
without requiring a sequential scan.
@@ -742,7 +742,7 @@ <h1><a name="section_15">Locking</a></h1>
742
742
while on non-SMP machines, the backend should sleep so the process
743
743
holding the lock can complete and release it.
744
744
</ p >
745
- </ li > < li > -Improve SMP performance on i386 machines
745
+ </ li > < li > * -Improve SMP performance on i386 machines*
746
746
< p > i386-based SMP machines can generate excessive context switching
747
747
caused by lock failure in high concurrency situations. This may be
748
748
caused by CPU cache line invalidation inefficiencies.
@@ -874,7 +874,7 @@ <h1><a name="section_20">Source Code</a></h1>
874
874
</ li > < li > Allow cross-compiling by generating the zic database on the target system
875
875
</ li > < li > Improve NLS maintenace of libpgport messages linked onto applications
876
876
</ li > < li > Allow ecpg to work with MSVC and BCC
877
- </ li > < li > -Make src/port/snprintf.c thread-safe
877
+ </ li > < li > * -Make src/port/snprintf.c thread-safe*
878
878
</ li > < li > Add xpath_array() to /contrib/xml2 to return results as an array
879
879
</ li > < li > Allow building in directories containing spaces
880
880
< p > This is probably not possible because 'gmake' and other compiler tools
0 commit comments