Add:
authorBruce Momjian
Tue, 17 Jul 2007 00:07:54 +0000 (00:07 +0000)
committerBruce Momjian
Tue, 17 Jul 2007 00:07:54 +0000 (00:07 +0000)
> * 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
doc/src/FAQ/TODO.html

index f6850cb296e21432bf1b1516ae232a4ea283b9ae..d1342fba20e8d180996c73871b55ed736a70bd8c 100644 (file)
--- a/doc/TODO
+++ b/doc/TODO
@@ -1,7 +1,7 @@
 PostgreSQL TODO List
 ====================
 Current maintainer:    Bruce Momjian ([email protected])
-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)
index 48a6222f0a19a5e35e6b5ec3634014c092c3a5f1..81301c27e854215876f9afe2603e5961243b58e5 100644 (file)
@@ -8,7 +8,7 @@
 
 

PostgreSQL TODO List

 

Current maintainer:     Bruce Momjian ([email protected])

-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
    •    
        @@ -640,7 +646,8 @@ first.  There is also a developer's wiki at
                   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://people.planetpostgresql.org/greg/index.php?/archives/2006/06/10.html

                   http://archives.postgresql.org/pgsql-hackers/2006-09/msg01458.php
         

           
        @@ -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
      •    
          @@ -1017,7 +1030,8 @@ first.  There is also a developer's wiki at
           

            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-hackers/2007-03/msg00024.php

             http://archives.postgresql.org/pgsql-performance/2007-05/msg00296.php
           

             
        • 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