Mark "easy" items.
Jim C. Nasby
This commit is contained in:
parent
6ca102d676
commit
ee2b61ee55
98
doc/TODO
98
doc/TODO
@ -2,12 +2,13 @@
|
|||||||
PostgreSQL TODO List
|
PostgreSQL TODO List
|
||||||
====================
|
====================
|
||||||
Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)
|
Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)
|
||||||
Last updated: Wed Aug 24 10:00:31 EDT 2005
|
Last updated: Wed Aug 24 10:05:23 EDT 2005
|
||||||
|
|
||||||
The most recent version of this document can be viewed at
|
The most recent version of this document can be viewed at
|
||||||
http://www.postgresql.org/docs/faqs.TODO.html.
|
http://www.postgresql.org/docs/faqs.TODO.html.
|
||||||
|
|
||||||
#A hyphen, "-", marks changes that will appear in the upcoming 8.1 release.#
|
#A hyphen, "-", marks changes that will appear in the upcoming 8.1 release.#
|
||||||
|
#A percent sign, "%", marks items that are easier to implement.#
|
||||||
|
|
||||||
Bracketed items, "[]", have more detail.
|
Bracketed items, "[]", have more detail.
|
||||||
|
|
||||||
@ -19,10 +20,10 @@ first.
|
|||||||
Administration
|
Administration
|
||||||
==============
|
==============
|
||||||
|
|
||||||
* Remove behavior of postmaster -o after making postmaster/postgres
|
* %Remove behavior of postmaster -o after making postmaster/postgres
|
||||||
flags unique
|
flags unique
|
||||||
* -Allow limits on per-db/role connections
|
* -Allow limits on per-db/role connections
|
||||||
* Allow pooled connections to list all prepared queries
|
* %Allow pooled connections to list all prepared queries
|
||||||
|
|
||||||
This would allow an application inheriting a pooled connection to know
|
This would allow an application inheriting a pooled connection to know
|
||||||
the queries prepared in the current session.
|
the queries prepared in the current session.
|
||||||
@ -37,7 +38,7 @@ Administration
|
|||||||
Currently SIGTERM of a backend can lead to lock table corruption.
|
Currently SIGTERM of a backend can lead to lock table corruption.
|
||||||
|
|
||||||
* -Prevent dropping user that still owns objects, or auto-drop the objects
|
* -Prevent dropping user that still owns objects, or auto-drop the objects
|
||||||
* Set proper permissions on non-system schemas during db creation
|
* %Set proper permissions on non-system schemas during db creation
|
||||||
|
|
||||||
Currently all schemas are owned by the super-user because they are
|
Currently all schemas are owned by the super-user because they are
|
||||||
copied from the template1 database.
|
copied from the template1 database.
|
||||||
@ -61,16 +62,16 @@ Administration
|
|||||||
|
|
||||||
* Configuration files
|
* Configuration files
|
||||||
|
|
||||||
o Add "include file" functionality in postgresql.conf
|
o %Add "include file" functionality in postgresql.conf
|
||||||
o Allow postgresql.conf values to be set so they can not be changed
|
o Allow postgresql.conf values to be set so they can not be changed
|
||||||
by the user
|
by the user
|
||||||
o Allow commenting of variables in postgresql.conf to restore them
|
o %Allow commenting of variables in postgresql.conf to restore them
|
||||||
to defaults
|
to defaults
|
||||||
|
|
||||||
Currently, if a variable is commented out, it keeps the
|
Currently, if a variable is commented out, it keeps the
|
||||||
previous uncommented value until a server restarted.
|
previous uncommented value until a server restarted.
|
||||||
|
|
||||||
o Allow pg_hba.conf settings to be controlled via SQL
|
o %Allow pg_hba.conf settings to be controlled via SQL
|
||||||
|
|
||||||
This would add a function to load the SQL table from
|
This would add a function to load the SQL table from
|
||||||
pg_hba.conf, and one to writes its contents to the flat file.
|
pg_hba.conf, and one to writes its contents to the flat file.
|
||||||
@ -78,7 +79,7 @@ Administration
|
|||||||
can be inserted between existing rows, e.g. row 2.5 goes
|
can be inserted between existing rows, e.g. row 2.5 goes
|
||||||
between row 2 and row 3.
|
between row 2 and row 3.
|
||||||
|
|
||||||
o Allow postgresql.conf file values to be changed via an SQL
|
o %Allow postgresql.conf file values to be changed via an SQL
|
||||||
API, perhaps using SET GLOBAL
|
API, perhaps using SET GLOBAL
|
||||||
o Allow the server to be stopped/restarted via an SQL API
|
o Allow the server to be stopped/restarted via an SQL API
|
||||||
|
|
||||||
@ -106,7 +107,7 @@ Administration
|
|||||||
requires a tool that will call that function and connect to each
|
requires a tool that will call that function and connect to each
|
||||||
database to find the objects in each database for that tablespace.
|
database to find the objects in each database for that tablespace.
|
||||||
|
|
||||||
o Add a GUC variable to control the tablespace for temporary objects
|
o %Add a GUC variable to control the tablespace for temporary objects
|
||||||
and sort files
|
and sort files
|
||||||
|
|
||||||
It could start with a random tablespace from a supplied list and
|
It could start with a random tablespace from a supplied list and
|
||||||
@ -135,7 +136,7 @@ Administration
|
|||||||
the archive contins all the files needed for point-in-time
|
the archive contins all the files needed for point-in-time
|
||||||
recovery.
|
recovery.
|
||||||
|
|
||||||
o Create dump tool for write-ahead logs for use in determining
|
o %Create dump tool for write-ahead logs for use in determining
|
||||||
transaction id for point-in-time recovery
|
transaction id for point-in-time recovery
|
||||||
o Allow a warm standby system to also allow read-only queries
|
o Allow a warm standby system to also allow read-only queries
|
||||||
[pitr]
|
[pitr]
|
||||||
@ -153,7 +154,7 @@ Monitoring
|
|||||||
This would allow server log information to be easily loaded into
|
This would allow server log information to be easily loaded into
|
||||||
a database for analysis.
|
a database for analysis.
|
||||||
|
|
||||||
* Add ability to monitor the use of temporary sort files
|
* %Add ability to monitor the use of temporary sort files
|
||||||
* -Add session start time and last statement time to pg_stat_activity
|
* -Add session start time and last statement time to pg_stat_activity
|
||||||
* -Add a function that returns the start time of the postmaster
|
* -Add a function that returns the start time of the postmaster
|
||||||
* Allow server logs to be remotely read and removed using SQL commands
|
* Allow server logs to be remotely read and removed using SQL commands
|
||||||
@ -162,7 +163,7 @@ Monitoring
|
|||||||
Data Types
|
Data Types
|
||||||
==========
|
==========
|
||||||
|
|
||||||
* Remove Money type, add money formatting for decimal type
|
* %Remove Money type, add money formatting for decimal type
|
||||||
* Change NUMERIC to enforce the maximum precision, and increase it
|
* Change NUMERIC to enforce the maximum precision, and increase it
|
||||||
* Add NUMERIC division operator that doesn't round?
|
* Add NUMERIC division operator that doesn't round?
|
||||||
|
|
||||||
@ -177,14 +178,14 @@ Data Types
|
|||||||
|
|
||||||
* Have sequence dependency track use of DEFAULT sequences,
|
* Have sequence dependency track use of DEFAULT sequences,
|
||||||
seqname.nextval?
|
seqname.nextval?
|
||||||
* Disallow changing default expression of a SERIAL column?
|
* %Disallow changing default expression of a SERIAL column?
|
||||||
* Fix data types where equality comparison isn't intuitive, e.g. box
|
* Fix data types where equality comparison isn't intuitive, e.g. box
|
||||||
* Prevent INET cast to CIDR if the unmasked bits are not zero, or
|
* %Prevent INET cast to CIDR if the unmasked bits are not zero, or
|
||||||
zero the bits
|
zero the bits
|
||||||
* Prevent INET cast to CIDR from droping netmask, SELECT '1.1.1.1'::inet::cidr
|
* %Prevent INET cast to CIDR from droping netmask, SELECT '1.1.1.1'::inet::cidr
|
||||||
* Allow INET + INT4 to increment the host part of the address, or
|
* Allow INET + INT4 to increment the host part of the address, or
|
||||||
throw an error on overflow
|
throw an error on overflow
|
||||||
* Add 'tid != tid ' operator for use in corruption recovery
|
* %Add 'tid != tid ' operator for use in corruption recovery
|
||||||
|
|
||||||
|
|
||||||
* Dates and Times
|
* Dates and Times
|
||||||
@ -221,7 +222,7 @@ Data Types
|
|||||||
* Arrays
|
* Arrays
|
||||||
|
|
||||||
o Allow NULLs in arrays
|
o Allow NULLs in arrays
|
||||||
o Allow MIN()/MAX() on arrays
|
o %Allow MIN()/MAX() on arrays
|
||||||
o Delay resolution of array expression's data type so assignment
|
o Delay resolution of array expression's data type so assignment
|
||||||
coercion can be performed on empty array expressions
|
coercion can be performed on empty array expressions
|
||||||
o Modify array literal representation to handle array index lower bound
|
o Modify array literal representation to handle array index lower bound
|
||||||
@ -255,7 +256,7 @@ Functions
|
|||||||
make time reporting more consistent and will allow reporting of
|
make time reporting more consistent and will allow reporting of
|
||||||
the statement start time.
|
the statement start time.
|
||||||
|
|
||||||
* Add pg_get_acldef(), pg_get_typedefault(), and pg_get_attrdef()
|
* %Add pg_get_acldef(), pg_get_typedefault(), and pg_get_attrdef()
|
||||||
* Allow to_char() to print localized month names
|
* Allow to_char() to print localized month names
|
||||||
* 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 substring/replace() to get/set bit values
|
||||||
@ -304,16 +305,16 @@ Multi-Language Support
|
|||||||
Views / Rules
|
Views / Rules
|
||||||
=============
|
=============
|
||||||
|
|
||||||
* Automatically create rules on views so they are updateable, per SQL99
|
* %Automatically create rules on views so they are updateable, per SQL99
|
||||||
|
|
||||||
We can only auto-create rules for simple views. For more complex
|
We can only auto-create rules for simple views. For more complex
|
||||||
cases users will still have to write rules.
|
cases users will still have to write rules.
|
||||||
|
|
||||||
* Add the functionality for WITH CHECK OPTION clause of CREATE VIEW
|
* Add the functionality for WITH CHECK OPTION clause of CREATE VIEW
|
||||||
* Allow NOTIFY in rules involving conditionals
|
* Allow NOTIFY in rules involving conditionals
|
||||||
* Have views on temporary tables exist in the temporary namespace
|
* %Have views on temporary tables exist in the temporary namespace
|
||||||
* Allow temporary views on non-temporary tables
|
* Allow temporary views on non-temporary tables
|
||||||
* Allow RULE recompilation
|
* %Allow RULE recompilation
|
||||||
|
|
||||||
|
|
||||||
SQL Commands
|
SQL Commands
|
||||||
@ -333,9 +334,9 @@ SQL Commands
|
|||||||
* Add CORRESPONDING BY to UNION/INTERSECT/EXCEPT
|
* Add CORRESPONDING BY to UNION/INTERSECT/EXCEPT
|
||||||
* -Allow REINDEX to rebuild all database indexes
|
* -Allow REINDEX to rebuild all database indexes
|
||||||
* Add ROLLUP, CUBE, GROUPING SETS options to GROUP BY
|
* Add ROLLUP, CUBE, GROUPING SETS options to GROUP BY
|
||||||
* Allow SET CONSTRAINTS to be qualified by schema/table name
|
* %Allow SET CONSTRAINTS to be qualified by schema/table name
|
||||||
* Allow TRUNCATE ... CASCADE/RESTRICT
|
* %Allow TRUNCATE ... CASCADE/RESTRICT
|
||||||
* Add a separate TRUNCATE permission
|
* %Add a separate TRUNCATE permission
|
||||||
|
|
||||||
Currently only the owner can TRUNCATE a table because triggers are not
|
Currently only the owner can TRUNCATE a table because triggers are not
|
||||||
called, and the table is locked in exclusive mode.
|
called, and the table is locked in exclusive mode.
|
||||||
@ -367,7 +368,7 @@ SQL Commands
|
|||||||
triggers?)
|
triggers?)
|
||||||
* Add NOVICE output level for helpful messages like automatic sequence/index
|
* Add NOVICE output level for helpful messages like automatic sequence/index
|
||||||
creation
|
creation
|
||||||
* Add COMMENT ON for all cluster global objects (roles, databases
|
* %Add COMMENT ON for all cluster global objects (roles, databases
|
||||||
and tablespaces)
|
and tablespaces)
|
||||||
* -Add an option to automatically use savepoints for each statement in a
|
* -Add an option to automatically use savepoints for each statement in a
|
||||||
multi-statement transaction.
|
multi-statement transaction.
|
||||||
@ -420,11 +421,11 @@ SQL Commands
|
|||||||
|
|
||||||
* ALTER
|
* ALTER
|
||||||
|
|
||||||
o Have ALTER TABLE RENAME rename SERIAL sequence names
|
o %Have ALTER TABLE RENAME rename SERIAL sequence names
|
||||||
o Add ALTER DOMAIN TYPE
|
o %Add ALTER DOMAIN TYPE
|
||||||
o Allow ALTER TABLE ... ALTER CONSTRAINT ... RENAME
|
o %Allow ALTER TABLE ... ALTER CONSTRAINT ... RENAME
|
||||||
o Allow ALTER TABLE to change constraint deferrability and actions
|
o %Allow ALTER TABLE to change constraint deferrability and actions
|
||||||
o Disallow dropping of an inherited constraint
|
o %Disallow dropping of an inherited constraint
|
||||||
o -Allow objects to be moved to different schemas
|
o -Allow objects to be moved to different schemas
|
||||||
o Allow ALTER TABLESPACE to move to different directories
|
o Allow ALTER TABLESPACE to move to different directories
|
||||||
o Allow databases to be moved to different tablespaces
|
o Allow databases to be moved to different tablespaces
|
||||||
@ -433,7 +434,7 @@ SQL Commands
|
|||||||
Currently non-global system tables must be in the default database
|
Currently non-global system tables must be in the default database
|
||||||
tablespace. Global system tables can never be moved.
|
tablespace. Global system tables can never be moved.
|
||||||
|
|
||||||
o Prevent child tables from altering constraints like CHECK that were
|
o %Prevent child tables from altering constraints like CHECK that were
|
||||||
inherited from the parent table
|
inherited from the parent table
|
||||||
|
|
||||||
|
|
||||||
@ -449,7 +450,7 @@ SQL Commands
|
|||||||
store heap rows in hashed groups, perhaps using a user-supplied
|
store heap rows in hashed groups, perhaps using a user-supplied
|
||||||
hash function.
|
hash function.
|
||||||
|
|
||||||
o Add default clustering to system tables
|
o %Add default clustering to system tables
|
||||||
|
|
||||||
To do this, determine the ideal cluster index for each system
|
To do this, determine the ideal cluster index for each system
|
||||||
table and set the cluster setting during initdb.
|
table and set the cluster setting during initdb.
|
||||||
@ -463,7 +464,7 @@ SQL Commands
|
|||||||
processed, with ROLLBACK on COPY failure.
|
processed, with ROLLBACK on COPY failure.
|
||||||
|
|
||||||
o -Allow COPY to understand \x as a hex byte
|
o -Allow COPY to understand \x as a hex byte
|
||||||
o Have COPY return the number of rows loaded/unloaded?
|
o %Have COPY return the number of rows loaded/unloaded?
|
||||||
o -Allow COPY to optionally include column headings in the first line
|
o -Allow COPY to optionally include column headings in the first line
|
||||||
o -Allow COPY FROM ... CSV to interpret newlines and carriage
|
o -Allow COPY FROM ... CSV to interpret newlines and carriage
|
||||||
returns in data
|
returns in data
|
||||||
@ -472,7 +473,7 @@ SQL Commands
|
|||||||
* GRANT/REVOKE
|
* GRANT/REVOKE
|
||||||
|
|
||||||
o Allow column-level privileges
|
o Allow column-level privileges
|
||||||
o Allow GRANT/REVOKE permissions to be applied to all schema objects
|
o %Allow GRANT/REVOKE permissions to be applied to all schema objects
|
||||||
with one command
|
with one command
|
||||||
|
|
||||||
The proposed syntax is:
|
The proposed syntax is:
|
||||||
@ -495,7 +496,7 @@ SQL Commands
|
|||||||
o Prevent DROP TABLE from dropping a row referenced by its own open
|
o Prevent DROP TABLE from dropping a row referenced by its own open
|
||||||
cursor?
|
cursor?
|
||||||
|
|
||||||
o Allow pooled connections to list all open WITH HOLD cursors
|
o %Allow pooled connections to list all open WITH HOLD cursors
|
||||||
|
|
||||||
Because WITH HOLD cursors exist outside transactions, this allows
|
Because WITH HOLD cursors exist outside transactions, this allows
|
||||||
them to be listed so they can be closed.
|
them to be listed so they can be closed.
|
||||||
@ -589,22 +590,22 @@ Clients
|
|||||||
|
|
||||||
* pg_dump
|
* pg_dump
|
||||||
|
|
||||||
o Have pg_dump use multi-statement transactions for INSERT dumps
|
o %Have pg_dump use multi-statement transactions for INSERT dumps
|
||||||
o Allow pg_dump to use multiple -t and -n switches [pg_dump]
|
o %Allow pg_dump to use multiple -t and -n switches [pg_dump]
|
||||||
o Add dumping of comments on composite type columns
|
o %Add dumping of comments on composite type columns
|
||||||
o Add dumping of comments on index columns
|
o %Add dumping of comments on index columns
|
||||||
o Replace crude DELETE FROM method of pg_dumpall --clean for
|
o %Replace crude DELETE FROM method of pg_dumpall --clean for
|
||||||
cleaning of roles with separate DROP commands
|
cleaning of roles with separate DROP commands
|
||||||
o -Add dumping and restoring of LOB comments
|
o -Add dumping and restoring of LOB comments
|
||||||
o Stop dumping CASCADE on DROP TYPE commands in clean mode
|
o Stop dumping CASCADE on DROP TYPE commands in clean mode
|
||||||
o Add full object name to the tag field. eg. for operators we need
|
o %Add full object name to the tag field. eg. for operators we need
|
||||||
'=(integer, integer)', instead of just '='.
|
'=(integer, integer)', instead of just '='.
|
||||||
o Add pg_dumpall custom format dumps.
|
o Add pg_dumpall custom format dumps.
|
||||||
|
|
||||||
This is probably best done by combining pg_dump and pg_dumpall
|
This is probably best done by combining pg_dump and pg_dumpall
|
||||||
into a single binary.
|
into a single binary.
|
||||||
|
|
||||||
o Add CSV output format
|
o %Add CSV output format
|
||||||
o Update pg_dump and psql to use the new COPY libpq API (Christopher)
|
o Update pg_dump and psql to use the new COPY libpq API (Christopher)
|
||||||
o Remove unnecessary abstractions in pg_dump source code
|
o Remove unnecessary abstractions in pg_dump source code
|
||||||
|
|
||||||
@ -622,7 +623,7 @@ Clients
|
|||||||
o Use backend PREPARE/EXECUTE facility for ecpg where possible
|
o Use backend PREPARE/EXECUTE facility for ecpg where possible
|
||||||
o Implement SQLDA
|
o Implement SQLDA
|
||||||
o Fix nested C comments
|
o Fix nested C comments
|
||||||
o sqlwarn[6] should be 'W' if the PRECISION or SCALE value specified
|
o %sqlwarn[6] should be 'W' if the PRECISION or SCALE value specified
|
||||||
o Make SET CONNECTION thread-aware, non-standard?
|
o Make SET CONNECTION thread-aware, non-standard?
|
||||||
o Allow multidimensional arrays
|
o Allow multidimensional arrays
|
||||||
o Add internationalized message strings
|
o Add internationalized message strings
|
||||||
@ -657,7 +658,7 @@ Referential Integrity
|
|||||||
|
|
||||||
* Allow statement-level triggers to access modified rows
|
* Allow statement-level triggers to access modified rows
|
||||||
* Support triggers on columns (Greg Sabino Mullane)
|
* Support triggers on columns (Greg Sabino Mullane)
|
||||||
* Remove CREATE CONSTRAINT TRIGGER
|
* %Remove CREATE CONSTRAINT TRIGGER
|
||||||
|
|
||||||
This was used in older releases to dump referential integrity
|
This was used in older releases to dump referential integrity
|
||||||
constraints.
|
constraints.
|
||||||
@ -808,7 +809,7 @@ Fsync
|
|||||||
* Improve commit_delay handling to reduce fsync()
|
* Improve commit_delay handling to reduce fsync()
|
||||||
* Determine optimal fdatasync/fsync, O_SYNC/O_DSYNC options
|
* Determine optimal fdatasync/fsync, O_SYNC/O_DSYNC options
|
||||||
* -Allow multiple blocks to be written to WAL with one write()
|
* -Allow multiple blocks to be written to WAL with one write()
|
||||||
* Add an option to sync() before fsync()'ing checkpoint files
|
* %Add an option to sync() before fsync()'ing checkpoint files
|
||||||
* Add program to test if fsync has a delay compared to non-fsync
|
* Add program to test if fsync has a delay compared to non-fsync
|
||||||
|
|
||||||
|
|
||||||
@ -906,14 +907,14 @@ Vacuum
|
|||||||
VACUUM can look at just those pages rather than the entire table. In
|
VACUUM can look at just those pages rather than the entire table. In
|
||||||
the event of a system crash, the bitmap would probably be invalidated.
|
the event of a system crash, the bitmap would probably be invalidated.
|
||||||
|
|
||||||
* Add system view to show free space map contents
|
* %Add system view to show free space map contents
|
||||||
|
|
||||||
|
|
||||||
* Auto-vacuum
|
* Auto-vacuum
|
||||||
|
|
||||||
o -Move into the backend code
|
o -Move into the backend code
|
||||||
o Use free-space map information to guide refilling
|
o Use free-space map information to guide refilling
|
||||||
o Suggest VACUUM FULL if a table is nearly empty
|
o %Suggest VACUUM FULL if a table is nearly empty
|
||||||
o Improve xid wraparound detection by recording per-table rather
|
o Improve xid wraparound detection by recording per-table rather
|
||||||
than per-database
|
than per-database
|
||||||
|
|
||||||
@ -1079,7 +1080,7 @@ Source Code
|
|||||||
* Rename some /contrib modules from pg* to pg_*
|
* Rename some /contrib modules from pg* to pg_*
|
||||||
* Move some things from /contrib into main tree
|
* Move some things from /contrib into main tree
|
||||||
* Move some /contrib modules out to their own project sites
|
* Move some /contrib modules out to their own project sites
|
||||||
* Remove warnings created by -Wcast-align
|
* %Remove warnings created by -Wcast-align
|
||||||
* Move platform-specific ps status display info from ps_status.c to ports
|
* Move platform-specific ps status display info from ps_status.c to ports
|
||||||
* Add optional CRC checksum to heap and index pages
|
* Add optional CRC checksum to heap and index pages
|
||||||
* Improve documentation to build only interfaces (Marc)
|
* Improve documentation to build only interfaces (Marc)
|
||||||
@ -1110,6 +1111,7 @@ Source Code
|
|||||||
* Fix cross-compiling of time zone database via 'zic'
|
* Fix cross-compiling of time zone database via 'zic'
|
||||||
* Fix sgmltools so PDFs can be generated with bookmarks
|
* Fix sgmltools so PDFs can be generated with bookmarks
|
||||||
* -Add C code on Unix to copy directories for use in creating new databases
|
* -Add C code on Unix to copy directories for use in creating new databases
|
||||||
|
* %Clean up compiler warnings (especially with gcc version 4)
|
||||||
|
|
||||||
|
|
||||||
* Win32
|
* Win32
|
||||||
|
@ -8,12 +8,13 @@
|
|||||||
<body bgcolor="#FFFFFF" text="#000000" link="#FF0000" vlink="#A00000" alink="#0000FF">
|
<body bgcolor="#FFFFFF" text="#000000" link="#FF0000" vlink="#A00000" alink="#0000FF">
|
||||||
<h1><a name="section_1">PostgreSQL TODO List</a></h1>
|
<h1><a name="section_1">PostgreSQL TODO List</a></h1>
|
||||||
<p>Current maintainer: Bruce Momjian (<a href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</a>)<br/>
|
<p>Current maintainer: Bruce Momjian (<a href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</a>)<br/>
|
||||||
Last updated: Wed Aug 24 10:00:31 EDT 2005
|
Last updated: Wed Aug 24 10:05:23 EDT 2005
|
||||||
</p>
|
</p>
|
||||||
<p>The most recent version of this document can be viewed at<br/>
|
<p>The most recent version of this document can be viewed at<br/>
|
||||||
<a href="http://www.postgresql.org/docs/faqs.TODO.html">http://www.postgresql.org/docs/faqs.TODO.html</a>.
|
<a href="http://www.postgresql.org/docs/faqs.TODO.html">http://www.postgresql.org/docs/faqs.TODO.html</a>.
|
||||||
</p>
|
</p>
|
||||||
<p><strong>A hyphen, "-", marks changes that will appear in the upcoming 8.1 release.</strong>
|
<p><strong>A hyphen, "-", marks changes that will appear in the upcoming 8.1 release.</strong><br/>
|
||||||
|
<strong>A percent sign, "%", marks items that are easier to implement.</strong>
|
||||||
</p>
|
</p>
|
||||||
<p>Bracketed items, "[<a href="http://momjian.postgresql.org/cgi-bin/pgtodo?"></a>]", have more detail.
|
<p>Bracketed items, "[<a href="http://momjian.postgresql.org/cgi-bin/pgtodo?"></a>]", have more detail.
|
||||||
</p>
|
</p>
|
||||||
@ -24,10 +25,10 @@ first.
|
|||||||
<h1><a name="section_2">Administration</a></h1>
|
<h1><a name="section_2">Administration</a></h1>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li>Remove behavior of postmaster -o after making postmaster/postgres
|
<li>%Remove behavior of postmaster -o after making postmaster/postgres
|
||||||
flags unique
|
flags unique
|
||||||
</li><li>-<em>Allow limits on per-db/role connections</em>
|
</li><li>-<em>Allow limits on per-db/role connections</em>
|
||||||
</li><li>Allow pooled connections to list all prepared queries
|
</li><li>%Allow pooled connections to list all prepared queries
|
||||||
<p> This would allow an application inheriting a pooled connection to know
|
<p> This would allow an application inheriting a pooled connection to know
|
||||||
the queries prepared in the current session.
|
the queries prepared in the current session.
|
||||||
</p>
|
</p>
|
||||||
@ -40,7 +41,7 @@ first.
|
|||||||
<p> Currently SIGTERM of a backend can lead to lock table corruption.
|
<p> Currently SIGTERM of a backend can lead to lock table corruption.
|
||||||
</p>
|
</p>
|
||||||
</li><li>-<em>Prevent dropping user that still owns objects, or auto-drop the objects</em>
|
</li><li>-<em>Prevent dropping user that still owns objects, or auto-drop the objects</em>
|
||||||
</li><li>Set proper permissions on non-system schemas during db creation
|
</li><li>%Set proper permissions on non-system schemas during db creation
|
||||||
<p> Currently all schemas are owned by the super-user because they are
|
<p> Currently all schemas are owned by the super-user because they are
|
||||||
copied from the template1 database.
|
copied from the template1 database.
|
||||||
</p>
|
</p>
|
||||||
@ -59,22 +60,22 @@ first.
|
|||||||
</li></ul>
|
</li></ul>
|
||||||
</li><li>Configuration files
|
</li><li>Configuration files
|
||||||
<ul>
|
<ul>
|
||||||
<li>Add "include file" functionality in postgresql.conf
|
<li>%Add "include file" functionality in postgresql.conf
|
||||||
</li><li>Allow postgresql.conf values to be set so they can not be changed
|
</li><li>Allow postgresql.conf values to be set so they can not be changed
|
||||||
by the user
|
by the user
|
||||||
</li><li>Allow commenting of variables in postgresql.conf to restore them
|
</li><li>%Allow commenting of variables in postgresql.conf to restore them
|
||||||
to defaults
|
to defaults
|
||||||
<p> Currently, if a variable is commented out, it keeps the
|
<p> Currently, if a variable is commented out, it keeps the
|
||||||
previous uncommented value until a server restarted.
|
previous uncommented value until a server restarted.
|
||||||
</p>
|
</p>
|
||||||
</li><li>Allow pg_hba.conf settings to be controlled via SQL
|
</li><li>%Allow pg_hba.conf settings to be controlled via SQL
|
||||||
<p> This would add a function to load the SQL table from
|
<p> This would add a function to load the SQL table from
|
||||||
pg_hba.conf, and one to writes its contents to the flat file.
|
pg_hba.conf, and one to writes its contents to the flat file.
|
||||||
The table should have a line number that is a float so rows
|
The table should have a line number that is a float so rows
|
||||||
can be inserted between existing rows, e.g. row 2.5 goes
|
can be inserted between existing rows, e.g. row 2.5 goes
|
||||||
between row 2 and row 3.
|
between row 2 and row 3.
|
||||||
</p>
|
</p>
|
||||||
</li><li>Allow postgresql.conf file values to be changed via an SQL
|
</li><li>%Allow postgresql.conf file values to be changed via an SQL
|
||||||
API, perhaps using SET GLOBAL
|
API, perhaps using SET GLOBAL
|
||||||
</li><li>Allow the server to be stopped/restarted via an SQL API
|
</li><li>Allow the server to be stopped/restarted via an SQL API
|
||||||
</li></ul>
|
</li></ul>
|
||||||
@ -100,7 +101,7 @@ first.
|
|||||||
database to find the objects in each database for that tablespace.
|
database to find the objects in each database for that tablespace.
|
||||||
</p>
|
</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Add a GUC variable to control the tablespace for temporary objects
|
<li>%Add a GUC variable to control the tablespace for temporary objects
|
||||||
and sort files
|
and sort files
|
||||||
<p> It could start with a random tablespace from a supplied list and
|
<p> It could start with a random tablespace from a supplied list and
|
||||||
cycle through the list.
|
cycle through the list.
|
||||||
@ -125,7 +126,7 @@ first.
|
|||||||
the archive contins all the files needed for point-in-time
|
the archive contins all the files needed for point-in-time
|
||||||
recovery.
|
recovery.
|
||||||
</p>
|
</p>
|
||||||
</li><li>Create dump tool for write-ahead logs for use in determining
|
</li><li>%Create dump tool for write-ahead logs for use in determining
|
||||||
transaction id for point-in-time recovery
|
transaction id for point-in-time recovery
|
||||||
</li><li>Allow a warm standby system to also allow read-only queries
|
</li><li>Allow a warm standby system to also allow read-only queries
|
||||||
[<a href="http://momjian.postgresql.org/cgi-bin/pgtodo?pitr">pitr</a>]
|
[<a href="http://momjian.postgresql.org/cgi-bin/pgtodo?pitr">pitr</a>]
|
||||||
@ -141,7 +142,7 @@ first.
|
|||||||
<p> This would allow server log information to be easily loaded into
|
<p> This would allow server log information to be easily loaded into
|
||||||
a database for analysis.
|
a database for analysis.
|
||||||
</p>
|
</p>
|
||||||
</li><li>Add ability to monitor the use of temporary sort files
|
</li><li>%Add ability to monitor the use of temporary sort files
|
||||||
</li><li>-<em>Add session start time and last statement time to pg_stat_activity</em>
|
</li><li>-<em>Add session start time and last statement time to pg_stat_activity</em>
|
||||||
</li><li>-<em>Add a function that returns the start time of the postmaster</em>
|
</li><li>-<em>Add a function that returns the start time of the postmaster</em>
|
||||||
</li><li>Allow server logs to be remotely read and removed using SQL commands
|
</li><li>Allow server logs to be remotely read and removed using SQL commands
|
||||||
@ -149,7 +150,7 @@ first.
|
|||||||
<h1><a name="section_4">Data Types</a></h1>
|
<h1><a name="section_4">Data Types</a></h1>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li>Remove Money type, add money formatting for decimal type
|
<li>%Remove Money type, add money formatting for decimal type
|
||||||
</li><li>Change NUMERIC to enforce the maximum precision, and increase it
|
</li><li>Change NUMERIC to enforce the maximum precision, and increase it
|
||||||
</li><li>Add NUMERIC division operator that doesn't round?
|
</li><li>Add NUMERIC division operator that doesn't round?
|
||||||
<p> Currently NUMERIC _rounds_ the result to the specified precision.
|
<p> Currently NUMERIC _rounds_ the result to the specified precision.
|
||||||
@ -165,14 +166,14 @@ first.
|
|||||||
<ul>
|
<ul>
|
||||||
<li>Have sequence dependency track use of DEFAULT sequences,
|
<li>Have sequence dependency track use of DEFAULT sequences,
|
||||||
seqname.nextval?
|
seqname.nextval?
|
||||||
</li><li>Disallow changing default expression of a SERIAL column?
|
</li><li>%Disallow changing default expression of a SERIAL column?
|
||||||
</li><li>Fix data types where equality comparison isn't intuitive, e.g. box
|
</li><li>Fix data types where equality comparison isn't intuitive, e.g. box
|
||||||
</li><li>Prevent INET cast to CIDR if the unmasked bits are not zero, or
|
</li><li>%Prevent INET cast to CIDR if the unmasked bits are not zero, or
|
||||||
zero the bits
|
zero the bits
|
||||||
</li><li>Prevent INET cast to CIDR from droping netmask, SELECT '<a href="telnet://1.1.1.1">1.1.1.1</a>'::inet::cidr
|
</li><li>%Prevent INET cast to CIDR from droping netmask, SELECT '<a href="telnet://1.1.1.1">1.1.1.1</a>'::inet::cidr
|
||||||
</li><li>Allow INET + INT4 to increment the host part of the address, or
|
</li><li>Allow INET + INT4 to increment the host part of the address, or
|
||||||
throw an error on overflow
|
throw an error on overflow
|
||||||
</li><li>Add 'tid != tid ' operator for use in corruption recovery
|
</li><li>%Add 'tid != tid ' operator for use in corruption recovery
|
||||||
</li><li>Dates and Times
|
</li><li>Dates and Times
|
||||||
<ul>
|
<ul>
|
||||||
<li>Allow infinite dates just like infinite timestamps
|
<li>Allow infinite dates just like infinite timestamps
|
||||||
@ -207,7 +208,7 @@ first.
|
|||||||
</li><li>Arrays
|
</li><li>Arrays
|
||||||
<ul>
|
<ul>
|
||||||
<li>Allow NULLs in arrays
|
<li>Allow NULLs in arrays
|
||||||
</li><li>Allow MIN()/MAX() on arrays
|
</li><li>%Allow MIN()/MAX() on arrays
|
||||||
</li><li>Delay resolution of array expression's data type so assignment
|
</li><li>Delay resolution of array expression's data type so assignment
|
||||||
coercion can be performed on empty array expressions
|
coercion can be performed on empty array expressions
|
||||||
</li><li>Modify array literal representation to handle array index lower bound
|
</li><li>Modify array literal representation to handle array index lower bound
|
||||||
@ -238,7 +239,7 @@ first.
|
|||||||
make time reporting more consistent and will allow reporting of
|
make time reporting more consistent and will allow reporting of
|
||||||
the statement start time.
|
the statement start time.
|
||||||
</p>
|
</p>
|
||||||
</li><li>Add pg_get_acldef(), pg_get_typedefault(), and pg_get_attrdef()
|
</li><li>%Add pg_get_acldef(), pg_get_typedefault(), and pg_get_attrdef()
|
||||||
</li><li>Allow to_char() to print localized month names
|
</li><li>Allow to_char() to print localized month names
|
||||||
</li><li>Allow functions to have a schema search path specified at creation time
|
</li><li>Allow functions to have a schema search path specified at creation time
|
||||||
</li><li>Allow substring/replace() to get/set bit values
|
</li><li>Allow substring/replace() to get/set bit values
|
||||||
@ -283,15 +284,15 @@ first.
|
|||||||
<h1><a name="section_7">Views / Rules</a></h1>
|
<h1><a name="section_7">Views / Rules</a></h1>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li>Automatically create rules on views so they are updateable, per SQL99
|
<li>%Automatically create rules on views so they are updateable, per SQL99
|
||||||
<p> We can only auto-create rules for simple views. For more complex
|
<p> We can only auto-create rules for simple views. For more complex
|
||||||
cases users will still have to write rules.
|
cases users will still have to write rules.
|
||||||
</p>
|
</p>
|
||||||
</li><li>Add the functionality for WITH CHECK OPTION clause of CREATE VIEW
|
</li><li>Add the functionality for WITH CHECK OPTION clause of CREATE VIEW
|
||||||
</li><li>Allow NOTIFY in rules involving conditionals
|
</li><li>Allow NOTIFY in rules involving conditionals
|
||||||
</li><li>Have views on temporary tables exist in the temporary namespace
|
</li><li>%Have views on temporary tables exist in the temporary namespace
|
||||||
</li><li>Allow temporary views on non-temporary tables
|
</li><li>Allow temporary views on non-temporary tables
|
||||||
</li><li>Allow RULE recompilation
|
</li><li>%Allow RULE recompilation
|
||||||
</li></ul>
|
</li></ul>
|
||||||
<h1><a name="section_8">SQL Commands</a></h1>
|
<h1><a name="section_8">SQL Commands</a></h1>
|
||||||
|
|
||||||
@ -308,9 +309,9 @@ first.
|
|||||||
</li><li>Add CORRESPONDING BY to UNION/INTERSECT/EXCEPT
|
</li><li>Add CORRESPONDING BY to UNION/INTERSECT/EXCEPT
|
||||||
</li><li>-<em>Allow REINDEX to rebuild all database indexes</em>
|
</li><li>-<em>Allow REINDEX to rebuild all database indexes</em>
|
||||||
</li><li>Add ROLLUP, CUBE, GROUPING SETS options to GROUP BY
|
</li><li>Add ROLLUP, CUBE, GROUPING SETS options to GROUP BY
|
||||||
</li><li>Allow SET CONSTRAINTS to be qualified by schema/table name
|
</li><li>%Allow SET CONSTRAINTS to be qualified by schema/table name
|
||||||
</li><li>Allow TRUNCATE ... CASCADE/RESTRICT
|
</li><li>%Allow TRUNCATE ... CASCADE/RESTRICT
|
||||||
</li><li>Add a separate TRUNCATE permission
|
</li><li>%Add a separate TRUNCATE permission
|
||||||
<p> Currently only the owner can TRUNCATE a table because triggers are not
|
<p> Currently only the owner can TRUNCATE a table because triggers are not
|
||||||
called, and the table is locked in exclusive mode.
|
called, and the table is locked in exclusive mode.
|
||||||
</p>
|
</p>
|
||||||
@ -338,7 +339,7 @@ first.
|
|||||||
triggers?)
|
triggers?)
|
||||||
</li><li>Add NOVICE output level for helpful messages like automatic sequence/index
|
</li><li>Add NOVICE output level for helpful messages like automatic sequence/index
|
||||||
creation
|
creation
|
||||||
</li><li>Add COMMENT ON for all cluster global objects (roles, databases
|
</li><li>%Add COMMENT ON for all cluster global objects (roles, databases
|
||||||
and tablespaces)
|
and tablespaces)
|
||||||
</li><li>-<em>Add an option to automatically use savepoints for each statement in a</em>
|
</li><li>-<em>Add an option to automatically use savepoints for each statement in a</em>
|
||||||
multi-statement transaction.
|
multi-statement transaction.
|
||||||
@ -383,11 +384,11 @@ first.
|
|||||||
</li></ul>
|
</li></ul>
|
||||||
</li><li>ALTER
|
</li><li>ALTER
|
||||||
<ul>
|
<ul>
|
||||||
<li>Have ALTER TABLE RENAME rename SERIAL sequence names
|
<li>%Have ALTER TABLE RENAME rename SERIAL sequence names
|
||||||
</li><li>Add ALTER DOMAIN TYPE
|
</li><li>%Add ALTER DOMAIN TYPE
|
||||||
</li><li>Allow ALTER TABLE ... ALTER CONSTRAINT ... RENAME
|
</li><li>%Allow ALTER TABLE ... ALTER CONSTRAINT ... RENAME
|
||||||
</li><li>Allow ALTER TABLE to change constraint deferrability and actions
|
</li><li>%Allow ALTER TABLE to change constraint deferrability and actions
|
||||||
</li><li>Disallow dropping of an inherited constraint
|
</li><li>%Disallow dropping of an inherited constraint
|
||||||
</li><li>-<em>Allow objects to be moved to different schemas</em>
|
</li><li>-<em>Allow objects to be moved to different schemas</em>
|
||||||
</li><li>Allow ALTER TABLESPACE to move to different directories
|
</li><li>Allow ALTER TABLESPACE to move to different directories
|
||||||
</li><li>Allow databases to be moved to different tablespaces
|
</li><li>Allow databases to be moved to different tablespaces
|
||||||
@ -395,7 +396,7 @@ first.
|
|||||||
<p> Currently non-global system tables must be in the default database
|
<p> Currently non-global system tables must be in the default database
|
||||||
tablespace. Global system tables can never be moved.
|
tablespace. Global system tables can never be moved.
|
||||||
</p>
|
</p>
|
||||||
</li><li>Prevent child tables from altering constraints like CHECK that were
|
</li><li>%Prevent child tables from altering constraints like CHECK that were
|
||||||
inherited from the parent table
|
inherited from the parent table
|
||||||
</li></ul>
|
</li></ul>
|
||||||
</li><li>CLUSTER
|
</li><li>CLUSTER
|
||||||
@ -409,7 +410,7 @@ first.
|
|||||||
store heap rows in hashed groups, perhaps using a user-supplied
|
store heap rows in hashed groups, perhaps using a user-supplied
|
||||||
hash function.
|
hash function.
|
||||||
</p>
|
</p>
|
||||||
</li><li>Add default clustering to system tables
|
</li><li>%Add default clustering to system tables
|
||||||
<p> To do this, determine the ideal cluster index for each system
|
<p> To do this, determine the ideal cluster index for each system
|
||||||
table and set the cluster setting during initdb.
|
table and set the cluster setting during initdb.
|
||||||
</p>
|
</p>
|
||||||
@ -421,7 +422,7 @@ first.
|
|||||||
processed, with ROLLBACK on COPY failure.
|
processed, with ROLLBACK on COPY failure.
|
||||||
</p>
|
</p>
|
||||||
</li><li>-<em>Allow COPY to understand \x as a hex byte</em>
|
</li><li>-<em>Allow COPY to understand \x as a hex byte</em>
|
||||||
</li><li>Have COPY return the number of rows loaded/unloaded?
|
</li><li>%Have COPY return the number of rows loaded/unloaded?
|
||||||
</li><li>-<em>Allow COPY to optionally include column headings in the first line</em>
|
</li><li>-<em>Allow COPY to optionally include column headings in the first line</em>
|
||||||
</li><li>-<em>Allow COPY FROM ... CSV to interpret newlines and carriage</em>
|
</li><li>-<em>Allow COPY FROM ... CSV to interpret newlines and carriage</em>
|
||||||
returns in data
|
returns in data
|
||||||
@ -429,7 +430,7 @@ first.
|
|||||||
</li><li>GRANT/REVOKE
|
</li><li>GRANT/REVOKE
|
||||||
<ul>
|
<ul>
|
||||||
<li>Allow column-level privileges
|
<li>Allow column-level privileges
|
||||||
</li><li>Allow GRANT/REVOKE permissions to be applied to all schema objects
|
</li><li>%Allow GRANT/REVOKE permissions to be applied to all schema objects
|
||||||
with one command
|
with one command
|
||||||
<p> The proposed syntax is:
|
<p> The proposed syntax is:
|
||||||
</p><p> GRANT SELECT ON ALL TABLES IN public TO phpuser;
|
</p><p> GRANT SELECT ON ALL TABLES IN public TO phpuser;
|
||||||
@ -450,7 +451,7 @@ first.
|
|||||||
</p>
|
</p>
|
||||||
</li><li>Prevent DROP TABLE from dropping a row referenced by its own open
|
</li><li>Prevent DROP TABLE from dropping a row referenced by its own open
|
||||||
cursor?
|
cursor?
|
||||||
</li><li>Allow pooled connections to list all open WITH HOLD cursors
|
</li><li>%Allow pooled connections to list all open WITH HOLD cursors
|
||||||
<p> Because WITH HOLD cursors exist outside transactions, this allows
|
<p> Because WITH HOLD cursors exist outside transactions, this allows
|
||||||
them to be listed so they can be closed.
|
them to be listed so they can be closed.
|
||||||
</p>
|
</p>
|
||||||
@ -534,21 +535,21 @@ first.
|
|||||||
</li></ul>
|
</li></ul>
|
||||||
</li><li>pg_dump
|
</li><li>pg_dump
|
||||||
<ul>
|
<ul>
|
||||||
<li>Have pg_dump use multi-statement transactions for INSERT dumps
|
<li>%Have pg_dump use multi-statement transactions for INSERT dumps
|
||||||
</li><li>Allow pg_dump to use multiple -t and -n switches [<a href="http://momjian.postgresql.org/cgi-bin/pgtodo?pg_dump">pg_dump</a>]
|
</li><li>%Allow pg_dump to use multiple -t and -n switches [<a href="http://momjian.postgresql.org/cgi-bin/pgtodo?pg_dump">pg_dump</a>]
|
||||||
</li><li>Add dumping of comments on composite type columns
|
</li><li>%Add dumping of comments on composite type columns
|
||||||
</li><li>Add dumping of comments on index columns
|
</li><li>%Add dumping of comments on index columns
|
||||||
</li><li>Replace crude DELETE FROM method of pg_dumpall --clean for
|
</li><li>%Replace crude DELETE FROM method of pg_dumpall --clean for
|
||||||
cleaning of roles with separate DROP commands
|
cleaning of roles with separate DROP commands
|
||||||
</li><li>-<em>Add dumping and restoring of LOB comments</em>
|
</li><li>-<em>Add dumping and restoring of LOB comments</em>
|
||||||
</li><li>Stop dumping CASCADE on DROP TYPE commands in clean mode
|
</li><li>Stop dumping CASCADE on DROP TYPE commands in clean mode
|
||||||
</li><li>Add full object name to the tag field. eg. for operators we need
|
</li><li>%Add full object name to the tag field. eg. for operators we need
|
||||||
'=(integer, integer)', instead of just '='.
|
'=(integer, integer)', instead of just '='.
|
||||||
</li><li>Add pg_dumpall custom format dumps.
|
</li><li>Add pg_dumpall custom format dumps.
|
||||||
<p> This is probably best done by combining pg_dump and pg_dumpall
|
<p> This is probably best done by combining pg_dump and pg_dumpall
|
||||||
into a single binary.
|
into a single binary.
|
||||||
</p>
|
</p>
|
||||||
</li><li>Add CSV output format
|
</li><li>%Add CSV output format
|
||||||
</li><li>Update pg_dump and psql to use the new COPY libpq API (Christopher)
|
</li><li>Update pg_dump and psql to use the new COPY libpq API (Christopher)
|
||||||
</li><li>Remove unnecessary abstractions in pg_dump source code
|
</li><li>Remove unnecessary abstractions in pg_dump source code
|
||||||
</li></ul>
|
</li></ul>
|
||||||
@ -564,7 +565,7 @@ first.
|
|||||||
</li><li>Use backend PREPARE/EXECUTE facility for ecpg where possible
|
</li><li>Use backend PREPARE/EXECUTE facility for ecpg where possible
|
||||||
</li><li>Implement SQLDA
|
</li><li>Implement SQLDA
|
||||||
</li><li>Fix nested C comments
|
</li><li>Fix nested C comments
|
||||||
</li><li>sqlwarn[<a href="http://momjian.postgresql.org/cgi-bin/pgtodo?6">6</a>] should be 'W' if the PRECISION or SCALE value specified
|
</li><li>%sqlwarn[<a href="http://momjian.postgresql.org/cgi-bin/pgtodo?6">6</a>] should be 'W' if the PRECISION or SCALE value specified
|
||||||
</li><li>Make SET CONNECTION thread-aware, non-standard?
|
</li><li>Make SET CONNECTION thread-aware, non-standard?
|
||||||
</li><li>Allow multidimensional arrays
|
</li><li>Allow multidimensional arrays
|
||||||
</li><li>Add internationalized message strings
|
</li><li>Add internationalized message strings
|
||||||
@ -596,7 +597,7 @@ first.
|
|||||||
</p>
|
</p>
|
||||||
</li><li>Allow statement-level triggers to access modified rows
|
</li><li>Allow statement-level triggers to access modified rows
|
||||||
</li><li>Support triggers on columns (Greg Sabino Mullane)
|
</li><li>Support triggers on columns (Greg Sabino Mullane)
|
||||||
</li><li>Remove CREATE CONSTRAINT TRIGGER
|
</li><li>%Remove CREATE CONSTRAINT TRIGGER
|
||||||
<p> This was used in older releases to dump referential integrity
|
<p> This was used in older releases to dump referential integrity
|
||||||
constraints.
|
constraints.
|
||||||
</p>
|
</p>
|
||||||
@ -728,7 +729,7 @@ first.
|
|||||||
<li>Improve commit_delay handling to reduce fsync()
|
<li>Improve commit_delay handling to reduce fsync()
|
||||||
</li><li>Determine optimal fdatasync/fsync, O_SYNC/O_DSYNC options
|
</li><li>Determine optimal fdatasync/fsync, O_SYNC/O_DSYNC options
|
||||||
</li><li>-<em>Allow multiple blocks to be written to WAL with one write()</em>
|
</li><li>-<em>Allow multiple blocks to be written to WAL with one write()</em>
|
||||||
</li><li>Add an option to sync() before fsync()'ing checkpoint files
|
</li><li>%Add an option to sync() before fsync()'ing checkpoint files
|
||||||
</li><li>Add program to test if fsync has a delay compared to non-fsync
|
</li><li>Add program to test if fsync has a delay compared to non-fsync
|
||||||
</li></ul>
|
</li></ul>
|
||||||
<h1><a name="section_15">Cache Usage</a></h1>
|
<h1><a name="section_15">Cache Usage</a></h1>
|
||||||
@ -813,12 +814,12 @@ first.
|
|||||||
VACUUM can look at just those pages rather than the entire table. In
|
VACUUM can look at just those pages rather than the entire table. In
|
||||||
the event of a system crash, the bitmap would probably be invalidated.
|
the event of a system crash, the bitmap would probably be invalidated.
|
||||||
</p>
|
</p>
|
||||||
</li><li>Add system view to show free space map contents
|
</li><li>%Add system view to show free space map contents
|
||||||
</li><li>Auto-vacuum
|
</li><li>Auto-vacuum
|
||||||
<ul>
|
<ul>
|
||||||
<li>-<em>Move into the backend code</em>
|
<li>-<em>Move into the backend code</em>
|
||||||
</li><li>Use free-space map information to guide refilling
|
</li><li>Use free-space map information to guide refilling
|
||||||
</li><li>Suggest VACUUM FULL if a table is nearly empty
|
</li><li>%Suggest VACUUM FULL if a table is nearly empty
|
||||||
</li><li>Improve xid wraparound detection by recording per-table rather
|
</li><li>Improve xid wraparound detection by recording per-table rather
|
||||||
than per-database
|
than per-database
|
||||||
</li></ul>
|
</li></ul>
|
||||||
@ -967,7 +968,7 @@ first.
|
|||||||
</li><li>Rename some /contrib modules from pg* to pg_*
|
</li><li>Rename some /contrib modules from pg* to pg_*
|
||||||
</li><li>Move some things from /contrib into main tree
|
</li><li>Move some things from /contrib into main tree
|
||||||
</li><li>Move some /contrib modules out to their own project sites
|
</li><li>Move some /contrib modules out to their own project sites
|
||||||
</li><li>Remove warnings created by -Wcast-align
|
</li><li>%Remove warnings created by -Wcast-align
|
||||||
</li><li>Move platform-specific ps status display info from ps_status.c to ports
|
</li><li>Move platform-specific ps status display info from ps_status.c to ports
|
||||||
</li><li>Add optional CRC checksum to heap and index pages
|
</li><li>Add optional CRC checksum to heap and index pages
|
||||||
</li><li>Improve documentation to build only interfaces (Marc)
|
</li><li>Improve documentation to build only interfaces (Marc)
|
||||||
@ -996,6 +997,7 @@ first.
|
|||||||
</li><li>Fix cross-compiling of time zone database via 'zic'
|
</li><li>Fix cross-compiling of time zone database via 'zic'
|
||||||
</li><li>Fix sgmltools so PDFs can be generated with bookmarks
|
</li><li>Fix sgmltools so PDFs can be generated with bookmarks
|
||||||
</li><li>-<em>Add C code on Unix to copy directories for use in creating new databases</em>
|
</li><li>-<em>Add C code on Unix to copy directories for use in creating new databases</em>
|
||||||
|
</li><li>%Clean up compiler warnings (especially with gcc version 4)
|
||||||
</li><li>Win32
|
</li><li>Win32
|
||||||
<ul>
|
<ul>
|
||||||
<li>Remove configure.in check for link failure when cause is found
|
<li>Remove configure.in check for link failure when cause is found
|
||||||
|
Loading…
x
Reference in New Issue
Block a user