提交 811f91cf 编写于 作者: B Bruce Momjian

Fix whitespace in TODO.

上级 67f99d21
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
<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:bruce@momjian.us">bruce@momjian.us</a>)<br/> <p>Current maintainer: Bruce Momjian (<a href="mailto:bruce@momjian.us">bruce@momjian.us</a>)<br/>
Last updated: Tue Aug 14 13:02:38 EDT 2007 Last updated: Wed Aug 15 11:36:16 EDT 2007
</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>.
...@@ -26,14 +26,14 @@ first. There is also a developer's wiki at<br/> ...@@ -26,14 +26,14 @@ first. There is also a developer's wiki at<br/>
<h1><a name="section_2">Administration</a></h1> <h1><a name="section_2">Administration</a></h1>
<ul> <ul>
<li>Allow major upgrades without dump/reload, perhaps using pg_upgrade <li>Allow major upgrades without dump/reload, perhaps using pg_upgrade
[<a href="http://momjian.postgresql.org/cgi-bin/pgtodo?pg_upgrade">pg_upgrade</a>] [<a href="http://momjian.postgresql.org/cgi-bin/pgtodo?pg_upgrade">pg_upgrade</a>]
</li><li>Check for unreferenced table files created by transactions that were </li><li>Check for unreferenced table files created by transactions that were
in-progress when the server terminated abruptly in-progress when the server terminated abruptly
<p> <a href="http://archives.postgresql.org/pgsql-patches/2006-06/msg00096.php">http://archives.postgresql.org/pgsql-patches/2006-06/msg00096.php</a> <p> <a href="http://archives.postgresql.org/pgsql-patches/2006-06/msg00096.php">http://archives.postgresql.org/pgsql-patches/2006-06/msg00096.php</a>
</p> </p>
</li><li>Allow administrators to safely terminate individual sessions either </li><li>Allow administrators to safely terminate individual sessions either
via an SQL function or SIGTERM via an SQL function or SIGTERM
<p> Lock table corruption following SIGTERM of an individual backend <p> Lock table corruption following SIGTERM of an individual backend
has been reported in 8.0. A possible cause was fixed in 8.1, but 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 it is unknown whether other problems exist. This item mostly
...@@ -73,7 +73,7 @@ first. There is also a developer's wiki at<br/> ...@@ -73,7 +73,7 @@ first. There is also a developer's wiki at<br/>
</li><li>Allow more complex user/database default GUC settings </li><li>Allow more complex user/database default GUC settings
<p> Currently ALTER USER and ALTER DATABASE support per-user and <p> Currently ALTER USER and ALTER DATABASE support per-user and
per-database defaults. Consider adding per-user-and-database per-database defaults. Consider adding per-user-and-database
defaults so things like search_path can be defaulted for a defaults so things like search_path can be defaulted for a
specific user connecting to a specific database. specific user connecting to a specific database.
</p> </p>
</li><li>Allow custom variable classes that can restrict who can set the values </li><li>Allow custom variable classes that can restrict who can set the values
...@@ -215,15 +215,15 @@ first. There is also a developer's wiki at<br/> ...@@ -215,15 +215,15 @@ first. There is also a developer's wiki at<br/>
</li><li>Dates and Times </li><li>Dates and Times
<ul> <ul>
<li>Allow infinite dates and intervals just like infinite timestamps <li>Allow infinite dates and intervals just like infinite timestamps
</li><li>Merge hardwired timezone names with the TZ database; allow either </li><li>Merge hardwired timezone names with the TZ database; allow either
kind everywhere a TZ name is currently taken kind everywhere a TZ name is currently taken
</li><li>Allow TIMESTAMP WITH TIME ZONE to store the original timezone </li><li>Allow TIMESTAMP WITH TIME ZONE to store the original timezone
information, either zone name or offset from UTC [<a href="http://momjian.postgresql.org/cgi-bin/pgtodo?timezone">timezone</a>] information, either zone name or offset from UTC [<a href="http://momjian.postgresql.org/cgi-bin/pgtodo?timezone">timezone</a>]
<p> If the TIMESTAMP value is stored with a time zone name, interval <p> If the TIMESTAMP value is stored with a time zone name, interval
computations should adjust based on the time zone rules. computations should adjust based on the time zone rules.
</p> </p>
</li><li>Fix SELECT '0.01 years'::interval, '0.01 months'::interval </li><li>Fix SELECT '0.01 years'::interval, '0.01 months'::interval
</li><li>Add a GUC variable to allow output of interval values in ISO8601 </li><li>Add a GUC variable to allow output of interval values in ISO8601
format format
</li><li>Have timestamp subtraction not call justify_hours()? </li><li>Have timestamp subtraction not call justify_hours()?
<p> <a href="http://archives.postgresql.org/pgsql-sql/2006-10/msg00059.php">http://archives.postgresql.org/pgsql-sql/2006-10/msg00059.php</a> <p> <a href="http://archives.postgresql.org/pgsql-sql/2006-10/msg00059.php">http://archives.postgresql.org/pgsql-sql/2006-10/msg00059.php</a>
...@@ -323,13 +323,13 @@ first. There is also a developer's wiki at<br/> ...@@ -323,13 +323,13 @@ first. There is also a developer's wiki at<br/>
</li><li>Allow to_char() on interval values to accumulate the highest unit </li><li>Allow to_char() on interval values to accumulate the highest unit
requested requested
<p> Some special format flag would be required to request such <p> Some special format flag would be required to request such
accumulation. Such functionality could also be added to EXTRACT. accumulation. Such functionality could also be added to EXTRACT.
Prevent accumulation that crosses the month/day boundary because of Prevent accumulation that crosses the month/day boundary because of
the uneven number of days in a month. the uneven number of days in a month.
</p> </p>
<ul> <ul>
<li>to_char(INTERVAL '1 hour 5 minutes', 'MI') =&gt; 65 <li>to_char(INTERVAL '1 hour 5 minutes', 'MI') =&gt; 65
</li><li>to_char(INTERVAL '43 hours 20 minutes', 'MI' ) =&gt; 2600 </li><li>to_char(INTERVAL '43 hours 20 minutes', 'MI' ) =&gt; 2600
</li><li>to_char(INTERVAL '43 hours 20 minutes', 'WK:DD:HR:MI') =&gt; 0:1:19:20 </li><li>to_char(INTERVAL '43 hours 20 minutes', 'WK:DD:HR:MI') =&gt; 0:1:19:20
</li><li>to_char(INTERVAL '3 years 5 months','MM') =&gt; 41 </li><li>to_char(INTERVAL '3 years 5 months','MM') =&gt; 41
</li></ul> </li></ul>
...@@ -473,7 +473,7 @@ first. There is also a developer's wiki at<br/> ...@@ -473,7 +473,7 @@ first. There is also a developer's wiki at<br/>
creation creation
</li><li>-<em>Add RESET SESSION command to reset all session state</em> </li><li>-<em>Add RESET SESSION command to reset all session state</em>
</li><li>Add GUC to issue notice about statements that use unjoined tables </li><li>Add GUC to issue notice about statements that use unjoined tables
</li><li>Allow EXPLAIN to identify tables that were skipped because of </li><li>Allow EXPLAIN to identify tables that were skipped because of
constraint_exclusion constraint_exclusion
</li><li>Allow EXPLAIN output to be more easily processed by scripts, perhaps XML </li><li>Allow EXPLAIN output to be more easily processed by scripts, perhaps XML
</li><li>Enable standard_conforming_strings </li><li>Enable standard_conforming_strings
...@@ -596,8 +596,8 @@ first. There is also a developer's wiki at<br/> ...@@ -596,8 +596,8 @@ first. There is also a developer's wiki at<br/>
</li><li>Allow COPY on a newly-created table to skip WAL logging </li><li>Allow COPY on a newly-created table to skip WAL logging
<p> On crash recovery, the table involved in the COPY would <p> On crash recovery, the table involved in the COPY would
be removed or have its heap and index files truncated. One be removed or have its heap and index files truncated. One
issue is that no other backend should be able to add to issue is that no other backend should be able to add to
the table at the same time, which is something that is the table at the same time, which is something that is
currently allowed. currently allowed.
</p> </p>
</li></ul> </li></ul>
...@@ -710,7 +710,7 @@ first. There is also a developer's wiki at<br/> ...@@ -710,7 +710,7 @@ first. There is also a developer's wiki at<br/>
</li><li>Add support for polymorphic arguments and return types to </li><li>Add support for polymorphic arguments and return types to
languages other than PL/PgSQL languages other than PL/PgSQL
</li><li>Add capability to create and call PROCEDURES </li><li>Add capability to create and call PROCEDURES
</li><li>Add support for OUT and INOUT parameters to languages other </li><li>Add support for OUT and INOUT parameters to languages other
than PL/PgSQL than PL/PgSQL
</li><li>Add PL/PythonU tracebacks </li><li>Add PL/PythonU tracebacks
<p> <a href="http://archives.postgresql.org/pgsql-patches/2006-02/msg00288.php">http://archives.postgresql.org/pgsql-patches/2006-02/msg00288.php</a> <p> <a href="http://archives.postgresql.org/pgsql-patches/2006-02/msg00288.php">http://archives.postgresql.org/pgsql-patches/2006-02/msg00288.php</a>
...@@ -753,7 +753,7 @@ first. There is also a developer's wiki at<br/> ...@@ -753,7 +753,7 @@ first. There is also a developer's wiki at<br/>
than toggle than toggle
</li><li>Consistently display privilege information for all objects in psql </li><li>Consistently display privilege information for all objects in psql
</li><li>Add auto-expanded mode so expanded output is used if the row </li><li>Add auto-expanded mode so expanded output is used if the row
length is wider than the screen width. length is wider than the screen width.
<p> Consider using auto-expanded mode for backslash commands like \df+. <p> Consider using auto-expanded mode for backslash commands like \df+.
</p> </p>
</li><li>Prevent tab completion of SET TRANSACTION from querying the </li><li>Prevent tab completion of SET TRANSACTION from querying the
...@@ -802,7 +802,7 @@ first. There is also a developer's wiki at<br/> ...@@ -802,7 +802,7 @@ first. There is also a developer's wiki at<br/>
</li><li>Solve cardinality &gt; 1 for input descriptors / variables? </li><li>Solve cardinality &gt; 1 for input descriptors / variables?
</li><li>Add a semantic check level, e.g. check if a table really exists </li><li>Add a semantic check level, e.g. check if a table really exists
</li><li>fix handling of DB attributes that are arrays </li><li>fix handling of DB attributes that are arrays
</li><li>-<em>Use backend PREPARE/EXECUTE facility for ecpg where possible</em> </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
...@@ -815,12 +815,12 @@ first. There is also a developer's wiki at<br/> ...@@ -815,12 +815,12 @@ first. There is also a developer's wiki at<br/>
<ul> <ul>
<li>Add PQescapeIdentifierConn() <li>Add PQescapeIdentifierConn()
</li><li>Prevent PQfnumber() from lowercasing unquoted the column name </li><li>Prevent PQfnumber() from lowercasing unquoted the column name
<p> PQfnumber() should never have been doing lowercasing, but <p> PQfnumber() should never have been doing lowercasing, but
historically it has so we need a way to prevent it historically it has so we need a way to prevent it
</p> </p>
</li><li>Allow statement results to be automatically batched to the client </li><li>Allow statement results to be automatically batched to the client
<p> Currently all statement results are transferred to the libpq <p> Currently all statement results are transferred to the libpq
client before libpq makes the results available to the client before libpq makes the results available to the
application. This feature would allow the application to make application. This feature would allow the application to make
use of the first result rows while the rest are transferred, or use of the first result rows while the rest are transferred, or
held on the server waiting for them to be requested by libpq. held on the server waiting for them to be requested by libpq.
...@@ -997,15 +997,15 @@ first. There is also a developer's wiki at<br/> ...@@ -997,15 +997,15 @@ first. There is also a developer's wiki at<br/>
<p> <a href="http://archives.postgresql.org/pgsql-hackers/2005-11/msg00943.php">http://archives.postgresql.org/pgsql-hackers/2005-11/msg00943.php</a> <p> <a href="http://archives.postgresql.org/pgsql-hackers/2005-11/msg00943.php">http://archives.postgresql.org/pgsql-hackers/2005-11/msg00943.php</a>
</p> </p>
</li><li>Allow data to be pulled directly from indexes </li><li>Allow data to be pulled directly from indexes
<p> Currently indexes do not have enough tuple visibility information <p> Currently indexes do not have enough tuple visibility information
to allow data to be pulled from the index without also accessing to allow data to be pulled from the index without also accessing
the heap. One way to allow this is to set a bit on index tuples the heap. One way to allow this is to set a bit on index tuples
to indicate if a tuple is currently visible to all transactions to indicate if a tuple is currently visible to all transactions
when the first valid heap lookup happens. This bit would have to when the first valid heap lookup happens. This bit would have to
be cleared when a heap tuple is expired. be cleared when a heap tuple is expired.
</p> </p>
<p> Another idea is to maintain a bitmap of heap pages where all rows <p> Another idea is to maintain a bitmap of heap pages where all rows
are visible to all backends, and allow index lookups to reference are visible to all backends, and allow index lookups to reference
that bitmap to avoid heap lookups, perhaps the same bitmap we might that bitmap to avoid heap lookups, perhaps the same bitmap we might
add someday to determine which heap pages need vacuuming. Frequently add someday to determine which heap pages need vacuuming. Frequently
accessed bitmaps would have to be stored in shared memory. One 8k accessed bitmaps would have to be stored in shared memory. One 8k
...@@ -1080,7 +1080,7 @@ first. There is also a developer's wiki at<br/> ...@@ -1080,7 +1080,7 @@ first. There is also a developer's wiki at<br/>
<p> <a href="http://archives.postgresql.org/pgsql-hackers/2006-06/msg01305.php">http://archives.postgresql.org/pgsql-hackers/2006-06/msg01305.php</a> <p> <a href="http://archives.postgresql.org/pgsql-hackers/2006-06/msg01305.php">http://archives.postgresql.org/pgsql-hackers/2006-06/msg01305.php</a>
<a href="http://archives.postgresql.org/pgsql-hackers/2006-06/msg01534.php">http://archives.postgresql.org/pgsql-hackers/2006-06/msg01534.php</a> <a href="http://archives.postgresql.org/pgsql-hackers/2006-06/msg01534.php">http://archives.postgresql.org/pgsql-hackers/2006-06/msg01534.php</a>
</p> </p>
</li><li>Reuse index tuples that point to heap tuples that are not visible to </li><li>Reuse index tuples that point to heap tuples that are not visible to
anyone? anyone?
</li><li>Improve dead row detection during multi-statement transactions usage </li><li>Improve dead row detection during multi-statement transactions usage
<p> <a href="http://archives.postgresql.org/pgsql-patches/2007-03/msg00358.php">http://archives.postgresql.org/pgsql-patches/2007-03/msg00358.php</a> <p> <a href="http://archives.postgresql.org/pgsql-patches/2007-03/msg00358.php">http://archives.postgresql.org/pgsql-patches/2007-03/msg00358.php</a>
...@@ -1186,18 +1186,18 @@ first. There is also a developer's wiki at<br/> ...@@ -1186,18 +1186,18 @@ first. There is also a developer's wiki at<br/>
</li><li>Allow WAL logging to be turned off for a table, but the table </li><li>Allow WAL logging to be turned off for a table, but the table
might be dropped or truncated during crash recovery [<a href="http://momjian.postgresql.org/cgi-bin/pgtodo?walcontrol">walcontrol</a>] might be dropped or truncated during crash recovery [<a href="http://momjian.postgresql.org/cgi-bin/pgtodo?walcontrol">walcontrol</a>]
<p> Allow tables to bypass WAL writes and just fsync() dirty pages on <p> Allow tables to bypass WAL writes and just fsync() dirty pages on
commit. This should be implemented using ALTER TABLE, e.g. ALTER commit. This should be implemented using ALTER TABLE, e.g. ALTER
TABLE PERSISTENCE [<a href="http://momjian.postgresql.org/cgi-bin/pgtodo? DROP | TRUNCATE | DEFAULT "> DROP | TRUNCATE | DEFAULT </a>]. Tables using TABLE PERSISTENCE [<a href="http://momjian.postgresql.org/cgi-bin/pgtodo? DROP | TRUNCATE | DEFAULT "> DROP | TRUNCATE | DEFAULT </a>]. Tables using
non-default logging should not use referential integrity with non-default logging should not use referential integrity with
default-logging tables. A table without dirty buffers during a default-logging tables. A table without dirty buffers during a
crash could perhaps avoid the drop/truncate. crash could perhaps avoid the drop/truncate.
</p> </p>
</li><li>Allow WAL logging to be turned off for a table, but the table would </li><li>Allow WAL logging to be turned off for a table, but the table would
avoid being truncated/dropped [<a href="http://momjian.postgresql.org/cgi-bin/pgtodo?walcontrol">walcontrol</a>] avoid being truncated/dropped [<a href="http://momjian.postgresql.org/cgi-bin/pgtodo?walcontrol">walcontrol</a>]
<p> To do this, only a single writer can modify the table, and writes <p> To do this, only a single writer can modify the table, and writes
must happen only on new pages so the new pages can be removed during must happen only on new pages so the new pages can be removed during
crash recovery. Readers can continue accessing the table. Such crash recovery. Readers can continue accessing the table. Such
tables probably cannot have indexes. One complexity is the handling tables probably cannot have indexes. One complexity is the handling
of indexes on TOAST tables. of indexes on TOAST tables.
</p> </p>
</li></ul> </li></ul>
...@@ -1221,7 +1221,7 @@ first. There is also a developer's wiki at<br/> ...@@ -1221,7 +1221,7 @@ first. There is also a developer's wiki at<br/>
</li><li>Consider compressed annealing to search for query plans </li><li>Consider compressed annealing to search for query plans
<p> This might replace GEQO, <a href="http://sixdemonbag.org/Djinni">http://sixdemonbag.org/Djinni</a>. <p> This might replace GEQO, <a href="http://sixdemonbag.org/Djinni">http://sixdemonbag.org/Djinni</a>.
</p> </p>
</li><li>Improve merge join performance by allowing mark/restore of </li><li>Improve merge join performance by allowing mark/restore of
tuple sources tuple sources
<p> <a href="http://archives.postgresql.org/pgsql-hackers/2007-01/msg00096.php">http://archives.postgresql.org/pgsql-hackers/2007-01/msg00096.php</a> <p> <a href="http://archives.postgresql.org/pgsql-hackers/2007-01/msg00096.php">http://archives.postgresql.org/pgsql-hackers/2007-01/msg00096.php</a>
</p> </p>
...@@ -1254,7 +1254,7 @@ first. There is also a developer's wiki at<br/> ...@@ -1254,7 +1254,7 @@ first. There is also a developer's wiki at<br/>
<ul> <ul>
<li>-<em>Support a smaller header for short variable-length fields</em> <li>-<em>Support a smaller header for short variable-length fields</em>
</li><li>Reduce the row header size? </li><li>Reduce the row header size?
</li><li>Consider reducing on-disk varlena length from four bytes to </li><li>Consider reducing on-disk varlena length from four bytes to
two because a heap row cannot be more than 64k in length two because a heap row cannot be more than 64k in length
</li></ul> </li></ul>
</li><li>Consider increasing NUM_CLOG_BUFFERS </li><li>Consider increasing NUM_CLOG_BUFFERS
...@@ -1319,7 +1319,7 @@ first. There is also a developer's wiki at<br/> ...@@ -1319,7 +1319,7 @@ first. There is also a developer's wiki at<br/>
</p> </p>
</li><li>-<em>Move NAMEDATALEN from postgres_ext.h to pg_config_manual.h</em> </li><li>-<em>Move NAMEDATALEN from postgres_ext.h to pg_config_manual.h</em>
</li><li>Consider making NAMEDATALEN more configurable in future releases </li><li>Consider making NAMEDATALEN more configurable in future releases
</li><li>Update our code to handle 64-bit timezone files to match the zic </li><li>Update our code to handle 64-bit timezone files to match the zic
source code, which now uses them source code, which now uses them
</li><li>Have configure choose integer datetimes by default </li><li>Have configure choose integer datetimes by default
<p> <a href="http://archives.postgresql.org/pgsql-patches/2007-05/msg00046.php">http://archives.postgresql.org/pgsql-patches/2007-05/msg00046.php</a> <p> <a href="http://archives.postgresql.org/pgsql-patches/2007-05/msg00046.php">http://archives.postgresql.org/pgsql-patches/2007-05/msg00046.php</a>
...@@ -1415,8 +1415,8 @@ first. There is also a developer's wiki at<br/> ...@@ -1415,8 +1415,8 @@ first. There is also a developer's wiki at<br/>
</li><li>Embedded server (not wanted) </li><li>Embedded server (not wanted)
<p> While PostgreSQL clients runs fine in limited-resource environments, the <p> While PostgreSQL clients runs fine in limited-resource environments, the
server requires multiple processes and a stable pool of resources to server requires multiple processes and a stable pool of resources to
run reliabily and efficiently. Stripping down the PostgreSQL server run reliabily and efficiently. Stripping down the PostgreSQL server
to run in the same process address space as the client application to run in the same process address space as the client application
would add too much complexity and failure cases.</p> would add too much complexity and failure cases.</p>
</li></ul> </li></ul>
</li></ul></li></ul> </li></ul></li></ul>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册