From 8ea398513ef287bc25ac08dc7a4d92fb68dc668d Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Mon, 4 Jul 2005 17:00:32 +0000 Subject: Restructure TODO sections. --- doc/src/FAQ/TODO.html | 471 ++++++++++++++++++++++++++------------------------ 1 file changed, 246 insertions(+), 225 deletions(-) (limited to 'doc/src') diff --git a/doc/src/FAQ/TODO.html b/doc/src/FAQ/TODO.html index e37a84b95f4..7f1546e9c4a 100644 --- a/doc/src/FAQ/TODO.html +++ b/doc/src/FAQ/TODO.html @@ -8,7 +8,7 @@

PostgreSQL TODO List

Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)
-Last updated: Mon Jul 4 08:32:37 EDT 2005 +Last updated: Mon Jul 4 13:00:23 EDT 2005

The most recent version of this document can be viewed at
http://www.postgresql.org/docs/faqs.TODO.html. @@ -27,94 +27,27 @@ first.

  • Remove behavior of postmaster -o after making postmaster/postgres flags unique
  • Allow limits on per-db/role connections -
  • Allow server log information to be output as INSERT statements -

    This would allow server log information to be easily loaded into - a database for analysis. -

    -
  • Prevent dropping user that still owns objects, or auto-drop the objects
  • Allow pooled connections to list all prepared queries

    This would allow an application inheriting a pooled connection to know the queries prepared in the current session.

  • Allow major upgrades without dump/reload, perhaps using pg_upgrade [pg_upgrade] -
  • Allow GRANT/REVOKE permissions to be applied to all schema objects with one - command -

    The proposed syntax is: -

    GRANT SELECT ON ALL TABLES IN public TO phpuser; - GRANT SELECT ON NEW TABLES IN public TO phpuser; -

    -
  • Allow GRANT/REVOKE permissions to be inherited by objects based on - schema permissions
  • Check for unreferenced table files created by transactions that were in-progress when the server terminated abruptly -
  • Allow reporting of which objects are in which tablespaces -

    This item is difficult because a tablespace can contain objects from - multiple databases. There is a server-side function that returns the - databases which use a specific tablespace, so this requires a tool - that will call that function and connect to each database to find the - objects in each database for that tablespace. -

    -
  • Allow a database in tablespace t1 with tables created in tablespace t2 - to be used as a template for a new database created with default - tablespace t2 -

    All objects in the default database tablespace must have default tablespace - specifications. This is because new databases are created by copying - directories. If you mix default tablespace tables and tablespace-specified - tables in the same directory, creating a new database from such a mixed - directory would create a new database with tables that had incorrect - explicit tablespaces. To fix this would require modifying pg_class in the - newly copied database, which we don't currently do. -

    -
  • Add a GUC variable to control the tablespace for temporary objects and - sort files -

    It could start with a random tablespace from a supplied list and cycle - through the list. -

    -
  • Add ability to monitor the use of temporary sort files -
  • Allow WAL replay of CREATE TABLESPACE to work when the directory - structure on the recovery computer is different from the original -
  • Add "include file" functionality in postgresql.conf -
  • -Add session start time and last statement time to pg_stat_activity -
  • Allow server logs to be remotely read using SQL commands -
  • Allow pg_hba.conf settings to be controlled via SQL -

    This would require a new global table that is dumped to flat file for - use by the postmaster. We do a similar thing for pg_shadow currently. -

  • Allow administrators to safely terminate individual sessions either via an SQL function or SIGTERM

    Currently SIGTERM of a backend can lead to lock table corruption.

    -
  • Un-comment all variables in postgresql.conf -

    By not showing commented-out variables, we discourage people from - thinking that re-commenting a variable returns it to its default. - This has to address environment variables that are then overridden - by config file values. Another option is to allow commented values - to return to their default values. -

    -
  • Allow point-in-time recovery to archive partially filled write-ahead - logs [pitr] -

    Currently only full WAL files are archived. This means that the most - recent transactions aren't available for recovery in case of a disk - failure. This could be triggered by a user command or a timer. -

    -
  • Automatically force archiving of partially-filled WAL files when - pg_stop_backup() is called or the server is stopped -

    Doing this will allow administrators to know more easily when the - archive contins all the files needed for point-in-time recovery. -

    -
  • Create dump tool for write-ahead logs for use in determining - transaction id for point-in-time recovery +
  • Prevent dropping user that still owns objects, or auto-drop the objects
  • Set proper permissions on non-system schemas during db creation

    Currently all schemas are owned by the super-user because they are copied from the template1 database.

    -
  • Add a function that returns the 'uptime' of the postmaster -
  • Allow a warm standby system to also allow read-only queries [pitr] -

    This is useful for checking PITR recovery. -

    -
  • Allow the PITR process to be debugged and data examined
  • -Add the client IP address and port to pg_stat_activity +
  • Support table partitioning that allows a single table to be stored + in subtables that are partitioned based on the primary key or a WHERE + clause
  • Improve replication solutions -
  • Support table partitioning that allows a single table to be stored - in subtables that are partitioned based on the primary key or a WHERE - clause -
  • Allow postgresql.conf values to be set so they can not be changed by - the user -
  • Allow per-tablespace quotas +
  • Configuration files + +
  • Tablespaces + +
  • Point-in-time Recovery (PITR) + +
  • +

    Monitoring

    + + -

    Data Types

    +

    Data Types

    -

    Clients

    +

    Clients

    -

    Referential Integrity

    +

    Referential Integrity

    -

    Dependency Checking

    +

    Dependency Checking

    -

    Exotic Features

    +

    Exotic Features

    -

    PERFORMANCE

    +

    Indexes

    -

    Fsync

    + +

    Fsync

    -

    Cache

    +

    Cache Usage

    -

    Vacuum

    +

    Vacuum

    -

    Locking

    +

    Locking

    -

    Startup Time

    +

    Startup Time Improvements

    -

    Write-Ahead Log

    +

    Write-Ahead Log

    -

    Optimizer / Executor

    +

    Optimizer / Executor

    -

    Miscellaneous

    +

    Miscellaneous Performance

    -

    Source Code

    +

    Source Code


    -

    Developers who have claimed items are:

    +

    Developers who have claimed items are: