Improve indentation of sublists:
< The proper solution to this will probably the use of a master/slave < replication solution like Sloney and a connection pooling tool like < pgpool. > The proper solution to this will probably the use of a master/slave > replication solution like Sloney and a connection pooling tool like > pgpool. 114,116c114,116 < You can use any of the master/slave replication servers to use a < standby server for data warehousing. To allow read/write queries to < multiple servers, you need multi-master replication like pgcluster. > You can use any of the master/slave replication servers to use a > standby server for data warehousing. To allow read/write queries to > multiple servers, you need multi-master replication like pgcluster. 166,167c166,167 < Currently large objects entries do not have owners. Permissions can < only be set at the pg_largeobject table level. > Currently large objects entries do not have owners. Permissions can > only be set at the pg_largeobject table level. 173c173 < This requires the TOAST column to be stored EXTERNAL. > This requires the TOAST column to be stored EXTERNAL. 359,360c359,360 < One complexity is whether moving a schema should move all existing < schema objects or just define the location for future object creation. > One complexity is whether moving a schema should move all existing > schema objects or just define the location for future object creation. 364,365c364,365 < Currently non-global system tables must be in the default database < schema. Global system tables can never be moved. > Currently non-global system tables must be in the default database > schema. Global system tables can never be moved. 371,375c371,375 < This might require some background daemon to maintain clustering < during periods of low usage. It might also require tables to be only < paritally filled for easier reorganization. Another idea would < be to create a merged heap/index data file so an index lookup would < automatically access the heap data too. > This might require some background daemon to maintain clustering > during periods of low usage. It might also require tables to be only > paritally filled for easier reorganization. Another idea would > be to create a merged heap/index data file so an index lookup would > automatically access the heap data too. 379,380c379,380 < To do this, determine the ideal cluster index for each system < table and set the cluster setting during initdb. > To do this, determine the ideal cluster index for each system > table and set the cluster setting during initdb. 385,386c385,386 < This requires the use of a savepoint before each COPY line is < processed, with ROLLBACK on COPY failure. > This requires the use of a savepoint before each COPY line is > processed, with ROLLBACK on COPY failure. 395,398c395,398 < This requires using the row ctid to map cursor rows back to the < original heap row. This become more complicated if WITH HOLD cursors < are to be supported because WITH HOLD cursors have a copy of the row < and no FOR UPDATE lock. > This requires using the row ctid to map cursor rows back to the > original heap row. This become more complicated if WITH HOLD cursors > are to be supported because WITH HOLD cursors have a copy of the row > and no FOR UPDATE lock. 405,406c405,406 < Because WITH HOLD cursors exist outside transactions, this allows < them to be listed so they can be closed. > Because WITH HOLD cursors exist outside transactions, this allows > them to be listed so they can be closed. 413,415c413,415 < This is useful for returning the auto-generated key for an INSERT. < One complication is how to handle rules that run as part of < the insert. > This is useful for returning the auto-generated key for an INSERT. > One complication is how to handle rules that run as part of > the insert. 422c422 < This is basically the same as SET search_path. > This is basically the same as SET search_path. 426,427c426,427 < This requires a checking function to be called after the server < configuration file is read. > This requires a checking function to be called after the server > configuration file is read. 432c432 < Currently only constants are supported. > Currently only constants are supported. 438,439c438,439 < This requires the cached PL/PgSQL byte code to be invalidated when < an object referenced in the function is changed. > This requires the cached PL/PgSQL byte code to be invalidated when > an object referenced in the function is changed. 512,513c512,513 < Document differences between ecpg and the SQL standard and < information about the Informix-compatibility module. > Document differences between ecpg and the SQL standard and > information about the Informix-compatibility module.
This commit is contained in:
parent
51aacecae6
commit
e444d9a966
80
doc/TODO
80
doc/TODO
@ -5,7 +5,7 @@ TODO list for PostgreSQL
|
||||
Bracketed items "[]" have more detail.
|
||||
|
||||
Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)
|
||||
Last updated: Sun Oct 17 23:26:56 EDT 2004
|
||||
Last updated: Mon Oct 18 12:13:19 EDT 2004
|
||||
|
||||
The most recent version of this document can be viewed at the PostgreSQL web
|
||||
site, http://www.PostgreSQL.org.
|
||||
@ -105,15 +105,15 @@ Administration
|
||||
* Improve replication solutions
|
||||
o Automatic failover
|
||||
|
||||
The proper solution to this will probably the use of a master/slave
|
||||
replication solution like Sloney and a connection pooling tool like
|
||||
pgpool.
|
||||
The proper solution to this will probably the use of a master/slave
|
||||
replication solution like Sloney and a connection pooling tool like
|
||||
pgpool.
|
||||
|
||||
o Load balancing
|
||||
|
||||
You can use any of the master/slave replication servers to use a
|
||||
standby server for data warehousing. To allow read/write queries to
|
||||
multiple servers, you need multi-master replication like pgcluster.
|
||||
You can use any of the master/slave replication servers to use a
|
||||
standby server for data warehousing. To allow read/write queries to
|
||||
multiple servers, you need multi-master replication like pgcluster.
|
||||
|
||||
o Allow replication over unreliable or non-persistent links
|
||||
|
||||
@ -163,14 +163,14 @@ Data Types
|
||||
o Improve vacuum of large objects, like /contrib/vacuumlo (?)
|
||||
o Add security checking for large objects
|
||||
|
||||
Currently large objects entries do not have owners. Permissions can
|
||||
only be set at the pg_largeobject table level.
|
||||
Currently large objects entries do not have owners. Permissions can
|
||||
only be set at the pg_largeobject table level.
|
||||
|
||||
o Auto-delete large objects when referencing row is deleted
|
||||
|
||||
o Allow read/write into TOAST values like large objects
|
||||
|
||||
This requires the TOAST column to be stored EXTERNAL.
|
||||
This requires the TOAST column to be stored EXTERNAL.
|
||||
|
||||
|
||||
Multi-Language Support
|
||||
@ -356,34 +356,34 @@ Commands
|
||||
o Allow ALTER TABLESPACE to move to different directories
|
||||
o Allow databases and schemas to be moved to different tablespaces
|
||||
|
||||
One complexity is whether moving a schema should move all existing
|
||||
schema objects or just define the location for future object creation.
|
||||
One complexity is whether moving a schema should move all existing
|
||||
schema objects or just define the location for future object creation.
|
||||
|
||||
o Allow moving system tables to other tablespaces, where possible
|
||||
|
||||
Currently non-global system tables must be in the default database
|
||||
schema. Global system tables can never be moved.
|
||||
Currently non-global system tables must be in the default database
|
||||
schema. Global system tables can never be moved.
|
||||
|
||||
|
||||
* CLUSTER
|
||||
o Automatically maintain clustering on a table
|
||||
|
||||
This might require some background daemon to maintain clustering
|
||||
during periods of low usage. It might also require tables to be only
|
||||
paritally filled for easier reorganization. Another idea would
|
||||
be to create a merged heap/index data file so an index lookup would
|
||||
automatically access the heap data too.
|
||||
This might require some background daemon to maintain clustering
|
||||
during periods of low usage. It might also require tables to be only
|
||||
paritally filled for easier reorganization. Another idea would
|
||||
be to create a merged heap/index data file so an index lookup would
|
||||
automatically access the heap data too.
|
||||
|
||||
o Add default clustering to system tables
|
||||
|
||||
To do this, determine the ideal cluster index for each system
|
||||
table and set the cluster setting during initdb.
|
||||
To do this, determine the ideal cluster index for each system
|
||||
table and set the cluster setting during initdb.
|
||||
|
||||
* COPY
|
||||
o Allow COPY to report error lines and continue
|
||||
|
||||
This requires the use of a savepoint before each COPY line is
|
||||
processed, with ROLLBACK on COPY failure.
|
||||
This requires the use of a savepoint before each COPY line is
|
||||
processed, with ROLLBACK on COPY failure.
|
||||
|
||||
o Allow COPY to understand \x as a hex byte
|
||||
o Have COPY return the number of rows loaded/unloaded (?)
|
||||
@ -392,51 +392,51 @@ Commands
|
||||
* CURSOR
|
||||
o Allow UPDATE/DELETE WHERE CURRENT OF cursor
|
||||
|
||||
This requires using the row ctid to map cursor rows back to the
|
||||
original heap row. This become more complicated if WITH HOLD cursors
|
||||
are to be supported because WITH HOLD cursors have a copy of the row
|
||||
and no FOR UPDATE lock.
|
||||
This requires using the row ctid to map cursor rows back to the
|
||||
original heap row. This become more complicated if WITH HOLD cursors
|
||||
are to be supported because WITH HOLD cursors have a copy of the row
|
||||
and no FOR UPDATE lock.
|
||||
|
||||
o Prevent DROP TABLE from dropping a row referenced by its own open
|
||||
cursor (?)
|
||||
|
||||
o Allow pooled connections to list all open WITH HOLD cursors
|
||||
|
||||
Because WITH HOLD cursors exist outside transactions, this allows
|
||||
them to be listed so they can be closed.
|
||||
Because WITH HOLD cursors exist outside transactions, this allows
|
||||
them to be listed so they can be closed.
|
||||
|
||||
* INSERT
|
||||
o Allow INSERT/UPDATE of the system-generated oid value for a row
|
||||
o Allow INSERT INTO tab (col1, ..) VALUES (val1, ..), (val2, ..)
|
||||
o Allow INSERT/UPDATE ... RETURNING new.col or old.col
|
||||
|
||||
This is useful for returning the auto-generated key for an INSERT.
|
||||
One complication is how to handle rules that run as part of
|
||||
the insert.
|
||||
This is useful for returning the auto-generated key for an INSERT.
|
||||
One complication is how to handle rules that run as part of
|
||||
the insert.
|
||||
|
||||
* SHOW/SET
|
||||
o Add SET PERFORMANCE_TIPS option to suggest INDEX, VACUUM, VACUUM
|
||||
ANALYZE, and CLUSTER
|
||||
o Add SET PATH for schemas (?)
|
||||
|
||||
This is basically the same as SET search_path.
|
||||
This is basically the same as SET search_path.
|
||||
|
||||
o Prevent conflicting SET options from being set
|
||||
|
||||
This requires a checking function to be called after the server
|
||||
configuration file is read.
|
||||
This requires a checking function to be called after the server
|
||||
configuration file is read.
|
||||
|
||||
* SERVER-SIDE LANGUAGES
|
||||
o Allow PL/PgSQL's RAISE function to take expressions (?)
|
||||
|
||||
Currently only constants are supported.
|
||||
Currently only constants are supported.
|
||||
|
||||
o Change PL/PgSQL to use palloc() instead of malloc()
|
||||
o Handle references to temporary tables that are created, destroyed,
|
||||
then recreated during a session, and EXECUTE is not used
|
||||
|
||||
This requires the cached PL/PgSQL byte code to be invalidated when
|
||||
an object referenced in the function is changed.
|
||||
This requires the cached PL/PgSQL byte code to be invalidated when
|
||||
an object referenced in the function is changed.
|
||||
|
||||
o Fix PL/pgSQL RENAME to work on variables other than OLD/NEW
|
||||
o Improve PL/PgSQL exception handling using savepoints
|
||||
@ -509,8 +509,8 @@ Clients
|
||||
* ECPG (?)
|
||||
o Docs
|
||||
|
||||
Document differences between ecpg and the SQL standard and
|
||||
information about the Informix-compatibility module.
|
||||
Document differences between ecpg and the SQL standard and
|
||||
information about the Informix-compatibility module.
|
||||
|
||||
o Solve cardinality > 1 for input descriptors / variables (?)
|
||||
o Improve error handling (?)
|
||||
|
Loading…
x
Reference in New Issue
Block a user