From 74fbe9ccd184c96a37c0e5b0560f486a9ff903c5 Mon Sep 17 00:00:00 2001
From: Bruce Momjian
Date: Tue, 17 Jul 2007 00:07:54 +0000
Subject: [PATCH] Add:
> * Allow multiple indexes to be created concurrently, ideally via a
> single heap scan, and have a restore of a pg_dump somehow use it
>
> http://archives.postgresql.org/pgsql-general/2007-05/msg01274.php
Small blank line additions.
---
doc/TODO | 28 +++++++++++++++++--
doc/src/FAQ/TODO.html | 65 ++++++++++++++++++++++++++++---------------
2 files changed, 67 insertions(+), 26 deletions(-)
diff --git a/doc/TODO b/doc/TODO
index f6850cb296..d1342fba20 100644
--- a/doc/TODO
+++ b/doc/TODO
@@ -1,7 +1,7 @@
PostgreSQL TODO List
====================
Current maintainer: Bruce Momjian (bruce@momjian.us)
-Last updated: Sat Jul 7 20:41:05 EDT 2007
+Last updated: Mon Jul 16 20:07:17 EDT 2007
The most recent version of this document can be viewed at
http://www.postgresql.org/docs/faqs.TODO.html.
@@ -34,6 +34,7 @@ Administration
has been reported in 8.0. A possible cause was fixed in 8.1, but
it is unknown whether other problems exist. This item mostly
requires additional testing rather than of writing any new code.
+
http://archives.postgresql.org/pgsql-hackers/2006-08/msg00174.php
* Set proper permissions on non-system schemas during db creation
@@ -63,6 +64,7 @@ Administration
creation of rules for INSERT/UPDATE/DELETE, and constraints for
rapid partition selection. Options could include range and hash
partition selection.
+
http://archives.postgresql.org/pgsql-hackers/2007-03/msg00375.php
http://archives.postgresql.org/pgsql-hackers/2007-04/msg00151.php
@@ -154,6 +156,7 @@ Administration
[pitr]
This is useful for checking PITR recovery.
+
http://archives.postgresql.org/pgsql-hackers/2007-03/msg00050.php
o %Create dump tool for write-ahead logs for use in determining
@@ -347,7 +350,7 @@ Functions
* Add missing parameter handling in to_char()
- http://archives.postgresql.org/pgsql-hackers/2005-12/msg00948.php
+ http://archives.postgresql.org/pgsql-hackers/2005-12/msg00948.php
* Allow functions to have a schema search path specified at creation time
* Allow substring/replace() to get/set bit values
@@ -414,6 +417,7 @@ Multi-Language Support
* Allow encoding on a per-column basis optionally using the ICU library:
Right now only one encoding is allowed per database. [locale]
+
http://archives.postgresql.org/pgsql-hackers/2005-03/msg00932.php
http://archives.postgresql.org/pgsql-patches/2005-08/msg00309.php
http://archives.postgresql.org/pgsql-patches/2006-03/msg00233.php
@@ -439,6 +443,7 @@ Multi-Language Support
Currently client_encoding is set in postgresql.conf, which
defaults to the server encoding.
+
http://archives.postgresql.org/pgsql-hackers/2006-08/msg01696.php
* Fix cases where invalid byte encodings are accepted by the database,
@@ -454,6 +459,7 @@ Views / Rules
We can only auto-create rules for simple views. For more complex
cases users will still have to write rules manually.
+
http://archives.postgresql.org/pgsql-hackers/2006-03/msg00586.php
http://archives.postgresql.org/pgsql-patches/2006-08/msg00255.php
@@ -516,6 +522,7 @@ SQL Commands
so duplicate checking can be easily performed. It is possible to
do it without a unique index if we require the user to LOCK the table
before the MERGE.
+
http://archives.postgresql.org/pgsql-hackers/2005-11/msg00501.php
http://archives.postgresql.org/pgsql-hackers/2005-11/msg00536.php
@@ -575,6 +582,7 @@ SQL Commands
http://archives.postgresql.org/pgsql-hackers/2007-01/msg00133.php
o Have WITH CONSTRAINTS also create constraint indexes
+
http://archives.postgresql.org/pgsql-patches/2007-04/msg00149.php
* UPDATE
@@ -718,6 +726,7 @@ SQL Commands
a unique index. Currently, uniqueness checks are done while the
command is being executed, rather than at the end of the statement
or transaction.
+
http://people.planetpostgresql.org/greg/index.php?/archives/2006/06/10.html
http://archives.postgresql.org/pgsql-hackers/2006-09/msg01458.php
@@ -740,6 +749,7 @@ SQL Commands
is also possible to implement these capabilities
in all schemas and not use a separate "packages"
syntax at all.
+
http://archives.postgresql.org/pgsql-hackers/2006-08/msg00384.php
o Allow handling of %TYPE arrays, e.g. tab.col%TYPE[]
@@ -771,6 +781,7 @@ SQL Commands
Because a row is not scalar, do not allow assignment
from NULL-valued scalars.
+
http://archives.postgresql.org/pgsql-hackers/2006-10/msg00070.php
o Other
@@ -862,7 +873,7 @@ Clients
code
o Allow selection of individual object(s) of all types, not just
tables
- o In a selective dump, allow dumping of an object and all its
+ o In a selective dump, allow dumping of an object and all its
dependencies
o Add options like pg_restore -l and -L to pg_dump
o Stop dumping CASCADE on DROP TYPE commands in clean mode
@@ -1012,6 +1023,11 @@ Indexes
have this complication. This would allow index compaction without
downtime.
+* Allow multiple indexes to be created concurrently, ideally via a
+ single heap scan, and have a restore of a pg_dump somehow use it
+
+ http://archives.postgresql.org/pgsql-general/2007-05/msg01274.php
+
* Inheritance
@@ -1142,6 +1158,7 @@ Vacuum
For large table adjustments during VACUUM FULL, it is faster to cluster
or reindex rather than update the index. Also, index updates can bloat
the index.
+
http://archives.postgresql.org/pgsql-hackers/2007-03/msg00024.php
http://archives.postgresql.org/pgsql-performance/2007-05/msg00296.php
@@ -1188,6 +1205,7 @@ Vacuum
counters, are difficult for VACUUM to handle efficiently. This method
is possible for same-page updates because a single index row can be
used to point to both old and new values.
+
http://archives.postgresql.org/pgsql-hackers/2006-06/msg01305.php
http://archives.postgresql.org/pgsql-hackers/2006-06/msg01534.php
@@ -1371,6 +1389,7 @@ Miscellaneous Performance
Async I/O allows multiple I/O requests to be sent to the disk with
results coming back asynchronously.
+
http://archives.postgresql.org/pgsql-hackers/2006-10/msg00820.php
* Use mmap() rather than SYSV shared memory or to write WAL files?
@@ -1408,6 +1427,7 @@ Miscellaneous Performance
Though backend priorities make priority inversion during lock
waits possible, research shows that this is not a huge problem.
+
http://archives.postgresql.org/pgsql-general/2007-02/msg00493.php
* Consider reducing memory used for shared buffer reference count
@@ -1563,6 +1583,7 @@ Features We Do _Not_ Want
Optimizer hints are used to work around problems in the optimizer. We
would rather have the problems reported and fixed.
+
http://archives.postgresql.org/pgsql-hackers/2006-08/msg00506.php
http://archives.postgresql.org/pgsql-hackers/2006-10/msg00517.php
http://archives.postgresql.org/pgsql-hackers/2006-10/msg00663.php
@@ -1571,6 +1592,7 @@ Features We Do _Not_ Want
Because we support postfix operators, it isn't possible to make AS
optional and continue to use bison.
+
http://archives.postgresql.org/pgsql-sql/2006-08/msg00164.php
* Embedded server (not wanted)
diff --git a/doc/src/FAQ/TODO.html b/doc/src/FAQ/TODO.html
index 48a6222f0a..81301c27e8 100644
--- a/doc/src/FAQ/TODO.html
+++ b/doc/src/FAQ/TODO.html
@@ -8,7 +8,7 @@
Current maintainer: Bruce Momjian (bruce@momjian.us)
-Last updated: Sat Jul 7 20:41:05 EDT 2007
+Last updated: Mon Jul 16 20:07:17 EDT 2007
The most recent version of this document can be viewed at
http://www.postgresql.org/docs/faqs.TODO.html.
@@ -38,7 +38,8 @@ first. There is also a developer's wiki at
has been reported in 8.0. A possible cause was fixed in 8.1, but
it is unknown whether other problems exist. This item mostly
requires additional testing rather than of writing any new code.
- http://archives.postgresql.org/pgsql-hackers/2006-08/msg00174.php
+
+ http://archives.postgresql.org/pgsql-hackers/2006-08/msg00174.php
Set proper permissions on non-system schemas during db creation
Currently all schemas are owned by the super-user because they are copied
@@ -64,7 +65,8 @@ first. There is also a developer's wiki at
creation of rules for INSERT/UPDATE/DELETE, and constraints for
rapid partition selection. Options could include range and hash
partition selection.
- http://archives.postgresql.org/pgsql-hackers/2007-03/msg00375.php
+
+ http://archives.postgresql.org/pgsql-hackers/2007-03/msg00375.php
http://archives.postgresql.org/pgsql-hackers/2007-04/msg00151.php
Allow auto-selection of partitioned tables for min/max() operations
@@ -142,7 +144,8 @@ first. There is also a developer's wiki at
Allow a warm standby system to also allow read-only statements
[pitr]
This is useful for checking PITR recovery.
- http://archives.postgresql.org/pgsql-hackers/2007-03/msg00050.php
+
+ http://archives.postgresql.org/pgsql-hackers/2007-03/msg00050.php
%Create dump tool for write-ahead logs for use in determining
transaction id for point-in-time recovery
@@ -313,11 +316,9 @@ first. There is also a developer's wiki at
http://archives.postgresql.org/pgsql-hackers/2007-02/msg00915.php
Add missing parameter handling in to_char()
-
- http://archives.postgresql.org/pgsql-hackers/2005-12/msg00948.php
+
http://archives.postgresql.org/pgsql-hackers/2005-12/msg00948.php
-
- - Allow functions to have a schema search path specified at creation time
+
- Allow functions to have a schema search path specified at creation time
- Allow substring/replace() to get/set bit values
- Allow to_char() on interval values to accumulate the highest unit
requested
@@ -372,7 +373,8 @@ first. There is also a developer's wiki at
Allow encoding on a per-column basis optionally using the ICU library:
Right now only one encoding is allowed per database. [locale]
- http://archives.postgresql.org/pgsql-hackers/2005-03/msg00932.php
+
+ http://archives.postgresql.org/pgsql-hackers/2005-03/msg00932.php
http://archives.postgresql.org/pgsql-patches/2005-08/msg00309.php
http://archives.postgresql.org/pgsql-patches/2006-03/msg00233.php
http://archives.postgresql.org/pgsql-hackers/2006-09/msg00662.php
@@ -394,7 +396,8 @@ first. There is also a developer's wiki at
Set client encoding based on the client operating system encoding
Currently client_encoding is set in postgresql.conf, which
defaults to the server encoding.
- http://archives.postgresql.org/pgsql-hackers/2006-08/msg01696.php
+
+ http://archives.postgresql.org/pgsql-hackers/2006-08/msg01696.php
Fix cases where invalid byte encodings are accepted by the database,
but throw an error on SELECT
@@ -407,7 +410,8 @@ first. There is also a developer's wiki at
Automatically create rules on views so they are updateable, per SQL99
We can only auto-create rules for simple views. For more complex
cases users will still have to write rules manually.
- http://archives.postgresql.org/pgsql-hackers/2006-03/msg00586.php
+
+ http://archives.postgresql.org/pgsql-hackers/2006-03/msg00586.php
http://archives.postgresql.org/pgsql-patches/2006-08/msg00255.php
Add the functionality for WITH CHECK OPTION clause of CREATE VIEW
@@ -461,7 +465,8 @@ first. There is also a developer's wiki at
so duplicate checking can be easily performed. It is possible to
do it without a unique index if we require the user to LOCK the table
before the MERGE.
- http://archives.postgresql.org/pgsql-hackers/2005-11/msg00501.php
+
+ http://archives.postgresql.org/pgsql-hackers/2005-11/msg00501.php
http://archives.postgresql.org/pgsql-hackers/2005-11/msg00536.php
Add NOVICE output level for helpful messages like automatic sequence/index
@@ -514,7 +519,8 @@ first. There is also a developer's wiki at
http://archives.postgresql.org/pgsql-hackers/2007-01/msg00133.php
Have WITH CONSTRAINTS also create constraint indexes
- http://archives.postgresql.org/pgsql-patches/2007-04/msg00149.php
+ http://archives.postgresql.org/pgsql-patches/2007-04/msg00149.php
+
UPDATE
@@ -661,7 +668,8 @@ first. There is also a developer's wiki at
is also possible to implement these capabilities
in all schemas and not use a separate "packages"
syntax at all.
- http://archives.postgresql.org/pgsql-hackers/2006-08/msg00384.php
+
+ http://archives.postgresql.org/pgsql-hackers/2006-08/msg00384.php
Allow handling of %TYPE arrays, e.g. tab.col%TYPE[]
Allow listing of record column names, and access to
@@ -688,7 +696,8 @@ first. There is also a developer's wiki at
and allow NULL tests on such variables
Because a row is not scalar, do not allow assignment
from NULL-valued scalars.
- http://archives.postgresql.org/pgsql-hackers/2006-10/msg00070.php
+
+ http://archives.postgresql.org/pgsql-hackers/2006-10/msg00070.php
Other
@@ -772,7 +781,7 @@ first. There is also a developer's wiki at
code
Allow selection of individual object(s) of all types, not just
tables
- In a selective dump, allow dumping of an object and all its
+ In a selective dump, allow dumping of an object and all its
dependencies
Add options like pg_restore -l and -L to pg_dump
Stop dumping CASCADE on DROP TYPE commands in clean mode
@@ -902,6 +911,10 @@ first. There is also a developer's wiki at
to replace the existing index file. CREATE INDEX CONCURRENTLY does not
have this complication. This would allow index compaction without
downtime.
+
+ Allow multiple indexes to be created concurrently, ideally via a
+ single heap scan, and have a restore of a pg_dump somehow use it
+ http://archives.postgresql.org/pgsql-general/2007-05/msg01274.php
Inheritance
Reduce lock time during VACUUM FULL by moving tuples with read lock,
@@ -1058,7 +1072,8 @@ first. There is also a developer's wiki at
counters, are difficult for VACUUM to handle efficiently. This method
is possible for same-page updates because a single index row can be
used to point to both old and new values.
- http://archives.postgresql.org/pgsql-hackers/2006-06/msg01305.php
+
+ http://archives.postgresql.org/pgsql-hackers/2006-06/msg01305.php
http://archives.postgresql.org/pgsql-hackers/2006-06/msg01534.php
Reuse index tuples that point to heap tuples that are not visible to
@@ -1220,7 +1235,8 @@ first. There is also a developer's wiki at
Do async I/O for faster random read-ahead of data
Async I/O allows multiple I/O requests to be sent to the disk with
results coming back asynchronously.
- http://archives.postgresql.org/pgsql-hackers/2006-10/msg00820.php
+
+ http://archives.postgresql.org/pgsql-hackers/2006-10/msg00820.php
Use mmap() rather than SYSV shared memory or to write WAL files?
This would remove the requirement for SYSV SHM but would introduce
@@ -1253,7 +1269,8 @@ first. There is also a developer's wiki at
Allow configuration of backend priorities via the operating system
Though backend priorities make priority inversion during lock
waits possible, research shows that this is not a huge problem.
- http://archives.postgresql.org/pgsql-general/2007-02/msg00493.php
+
+ http://archives.postgresql.org/pgsql-general/2007-02/msg00493.php
Consider reducing memory used for shared buffer reference count
http://archives.postgresql.org/pgsql-hackers/2007-01/msg00752.php
@@ -1387,14 +1404,16 @@ first. There is also a developer's wiki at
Optimizer hints (not wanted)
Optimizer hints are used to work around problems in the optimizer. We
would rather have the problems reported and fixed.
- http://archives.postgresql.org/pgsql-hackers/2006-08/msg00506.php
+
+ http://archives.postgresql.org/pgsql-hackers/2006-08/msg00506.php
http://archives.postgresql.org/pgsql-hackers/2006-10/msg00517.php
http://archives.postgresql.org/pgsql-hackers/2006-10/msg00663.php
Allow AS in "SELECT col AS label" to be optional (not wanted)
Because we support postfix operators, it isn't possible to make AS
optional and continue to use bison.
- http://archives.postgresql.org/pgsql-sql/2006-08/msg00164.php
+
+ http://archives.postgresql.org/pgsql-sql/2006-08/msg00164.php
Embedded server (not wanted)
While PostgreSQL clients runs fine in limited-resource environments, the