11PostgreSQL TODO List
22====================
33Current maintainer:Bruce Momjian (bruce@momjian.us)
4- Last updated:Sat Jul 7 20:41:05 EDT 2007
4+ Last updated:Mon Jul16 20:07:17 EDT 2007
55
66The most recent version of this document can be viewed at
77http://www.postgresql.org/docs/faqs.TODO.html.
@@ -34,6 +34,7 @@ Administration
3434 has been reported in 8.0. A possible cause was fixed in 8.1, but
3535 it is unknown whether other problems exist. This item mostly
3636 requires additional testing rather than of writing any new code.
37+
3738 http://archives.postgresql.org/pgsql-hackers/2006-08/msg00174.php
3839
3940* Set proper permissions on non-system schemas during db creation
@@ -63,6 +64,7 @@ Administration
6364 creation of rules for INSERT/UPDATE/DELETE, and constraints for
6465 rapid partition selection. Options could include range and hash
6566 partition selection.
67+
6668 http://archives.postgresql.org/pgsql-hackers/2007-03/msg00375.php
6769 http://archives.postgresql.org/pgsql-hackers/2007-04/msg00151.php
6870
@@ -154,6 +156,7 @@ Administration
154156 [pitr]
155157
156158 This is useful for checking PITR recovery.
159+
157160 http://archives.postgresql.org/pgsql-hackers/2007-03/msg00050.php
158161
159162 o %Create dump tool for write-ahead logs for use in determining
@@ -347,7 +350,7 @@ Functions
347350
348351* Add missing parameter handling in to_char()
349352
350- http://archives.postgresql.org/pgsql-hackers/2005-12/msg00948.php
353+ http://archives.postgresql.org/pgsql-hackers/2005-12/msg00948.php
351354
352355* Allow functions to have a schema search path specified at creation time
353356* Allow substring/replace() to get/set bit values
@@ -414,6 +417,7 @@ Multi-Language Support
414417* Allow encoding on a per-column basis optionally using the ICU library:
415418
416419 Right now only one encoding is allowed per database. [locale]
420+
417421 http://archives.postgresql.org/pgsql-hackers/2005-03/msg00932.php
418422 http://archives.postgresql.org/pgsql-patches/2005-08/msg00309.php
419423 http://archives.postgresql.org/pgsql-patches/2006-03/msg00233.php
@@ -439,6 +443,7 @@ Multi-Language Support
439443
440444 Currently client_encoding is set in postgresql.conf, which
441445 defaults to the server encoding.
446+
442447 http://archives.postgresql.org/pgsql-hackers/2006-08/msg01696.php
443448
444449* Fix cases where invalid byte encodings are accepted by the database,
@@ -454,6 +459,7 @@ Views / Rules
454459
455460 We can only auto-create rules for simple views. For more complex
456461 cases users will still have to write rules manually.
462+
457463 http://archives.postgresql.org/pgsql-hackers/2006-03/msg00586.php
458464 http://archives.postgresql.org/pgsql-patches/2006-08/msg00255.php
459465
@@ -516,6 +522,7 @@ SQL Commands
516522 so duplicate checking can be easily performed. It is possible to
517523 do it without a unique index if we require the user to LOCK the table
518524 before the MERGE.
525+
519526 http://archives.postgresql.org/pgsql-hackers/2005-11/msg00501.php
520527 http://archives.postgresql.org/pgsql-hackers/2005-11/msg00536.php
521528
@@ -575,6 +582,7 @@ SQL Commands
575582 http://archives.postgresql.org/pgsql-hackers/2007-01/msg00133.php
576583
577584o Have WITH CONSTRAINTS also create constraint indexes
585+
578586 http://archives.postgresql.org/pgsql-patches/2007-04/msg00149.php
579587
580588* UPDATE
@@ -718,6 +726,7 @@ SQL Commands
718726 a unique index. Currently, uniqueness checks are done while the
719727 command is being executed, rather than at the end of the statement
720728 or transaction.
729+
721730 http://people.planetpostgresql.org/greg/index.php?/archives/2006/06/10.html
722731 http://archives.postgresql.org/pgsql-hackers/2006-09/msg01458.php
723732
@@ -740,6 +749,7 @@ SQL Commands
740749 is also possible to implement these capabilities
741750 in all schemas and not use a separate "packages"
742751 syntax at all.
752+
743753 http://archives.postgresql.org/pgsql-hackers/2006-08/msg00384.php
744754
745755o Allow handling of %TYPE arrays, e.g. tab.col%TYPE[]
@@ -771,6 +781,7 @@ SQL Commands
771781
772782 Because a row is not scalar, do not allow assignment
773783 from NULL-valued scalars.
784+
774785 http://archives.postgresql.org/pgsql-hackers/2006-10/msg00070.php
775786
776787o Other
@@ -862,7 +873,7 @@ Clients
862873 code
863874o Allow selection of individual object(s) of all types, not just
864875 tables
865- o In a selective dump, allow dumping of an object and all its
876+ o In a selective dump, allow dumping of an object and all its
866877 dependencies
867878o Add options like pg_restore -l and -L to pg_dump
868879o Stop dumping CASCADE on DROP TYPE commands in clean mode
@@ -1012,6 +1023,11 @@ Indexes
10121023 have this complication. This would allow index compaction without
10131024 downtime.
10141025
1026+ * Allow multiple indexes to be created concurrently, ideally via a
1027+ single heap scan, and have a restore of a pg_dump somehow use it
1028+
1029+ http://archives.postgresql.org/pgsql-general/2007-05/msg01274.php
1030+
10151031
10161032* Inheritance
10171033
@@ -1142,6 +1158,7 @@ Vacuum
11421158 For large table adjustments during VACUUM FULL, it is faster to cluster
11431159 or reindex rather than update the index. Also, index updates can bloat
11441160 the index.
1161+
11451162 http://archives.postgresql.org/pgsql-hackers/2007-03/msg00024.php
11461163 http://archives.postgresql.org/pgsql-performance/2007-05/msg00296.php
11471164
@@ -1188,6 +1205,7 @@ Vacuum
11881205 counters, are difficult for VACUUM to handle efficiently. This method
11891206 is possible for same-page updates because a single index row can be
11901207 used to point to both old and new values.
1208+
11911209 http://archives.postgresql.org/pgsql-hackers/2006-06/msg01305.php
11921210 http://archives.postgresql.org/pgsql-hackers/2006-06/msg01534.php
11931211
@@ -1371,6 +1389,7 @@ Miscellaneous Performance
13711389
13721390 Async I/O allows multiple I/O requests to be sent to the disk with
13731391 results coming back asynchronously.
1392+
13741393 http://archives.postgresql.org/pgsql-hackers/2006-10/msg00820.php
13751394
13761395* Use mmap() rather than SYSV shared memory or to write WAL files?
@@ -1408,6 +1427,7 @@ Miscellaneous Performance
14081427
14091428 Though backend priorities make priority inversion during lock
14101429 waits possible, research shows that this is not a huge problem.
1430+
14111431 http://archives.postgresql.org/pgsql-general/2007-02/msg00493.php
14121432
14131433* Consider reducing memory used for shared buffer reference count
@@ -1563,6 +1583,7 @@ Features We Do _Not_ Want
15631583
15641584 Optimizer hints are used to work around problems in the optimizer. We
15651585 would rather have the problems reported and fixed.
1586+
15661587 http://archives.postgresql.org/pgsql-hackers/2006-08/msg00506.php
15671588 http://archives.postgresql.org/pgsql-hackers/2006-10/msg00517.php
15681589 http://archives.postgresql.org/pgsql-hackers/2006-10/msg00663.php
@@ -1571,6 +1592,7 @@ Features We Do _Not_ Want
15711592
15721593 Because we support postfix operators, it isn't possible to make AS
15731594 optional and continue to use bison.
1595+
15741596 http://archives.postgresql.org/pgsql-sql/2006-08/msg00164.php
15751597
15761598* Embedded server (not wanted)