Cleaups:
< * Allow GRANT/REVOKE permissions to be given to all schema objects with one > * Allow GRANT/REVOKE permissions to be applied to all schema objects with one 60c60 < specifications. This is because new databases are created by copying > specifications. This is because new databases are created by copying 63c63 < directory would create a new database with tables that had incorrect > directory would create a new database with tables that had incorrect 72c72 < > 85c85 < By not showing commented-out variables, we discourage people from > By not showing commented-out variables, we discourage people from 91c91 < * Allow point-in-time recovery to archive partially filled write-ahead > * Allow point-in-time recovery to archive partially filled write-ahead 102c102 < Currently all schemas are owned by the super-user because they are > Currently all schemas are owned by the super-user because they are 128c128 < * Allow INET subnet tests with non-constants to be indexed > * Allow INET subnet tests using non-constants to be indexed 143,144c143,144 < * Allow to_char to print localized month names < * Allow functions to have a search path specified at creation time > * Allow to_char() to print localized month names > * Allow functions to have a schema search path specified at creation time 146c146 < * Add GUC variable to allow output of interval values in ISO8601 format > * Add a GUC variable to allow output of interval values in ISO8601 format 154,155c154,155 < * Prevent inet cast to cidr if the unmasked bits are not zero, or < zero bits > * Prevent INET cast to CIDR if the unmasked bits are not zero, or > zero the bits 158c158 < o Allow nulls in arrays > o Allow NULLs in arrays 160,161c160,161 < o Delay resolution of array expression type so assignment coercion < can be performed on empty array expressions > o Delay resolution of array expression's data type so assignment > coercion can be performed on empty array expressions 218,219c218,219 < key, foreign key [inheritance] < * UNIQUE INDEX on base column not honored on inserts/updates from > key, foreign key > * UNIQUE INDEX on base column not honored on INSERTs/UPDATEs from 221c221 < (dup) should fail [inheritance] > (dup) should fail 246c246 < * Fetch heap pages matching index entries in sequential order [performance] > * Fetch heap pages matching index entries in sequential order 307c307 < functionality in DELETE. It's been agreed that the keyword should > functionality in DELETE. It's been agreed that the keyword should 318c318 < * Allow PREPARE to automatically determine parameter types based on the SQL > * Allow PREPARE to automatically determine parameter types based on the SQL 340,342d339 < * Allow CREATE TABLE foo (f1 INT CHECK (f1 > 0) CHECK (f1 < 10)) to work < by searching for non-conflicting constraint names, and prefix with < table name? 347c344 < new database. > a new database. 350,351d346 < * Ignore temporary tables from other sessions when processing < inheritance? 354,355c349,351 < * Add a session mode to warn about non-standard SQL usage in queries < * Add MERGE command that does UPDATE/DELETE, or on failure, INSERT (rules, triggers?) > * Add a GUC variable to warn about non-standard SQL usage in queries > * Add MERGE command that does UPDATE/DELETE, or on failure, INSERT (rules, > triggers?) 357,359c353,356 < * Add NOVICE output level for helpful messages like automatic sequence/index creation < * Add COMMENT ON for all cluster global objects (users, groups, < databases and tablespaces) > * Add NOVICE output level for helpful messages like automatic sequence/index > creation > * Add COMMENT ON for all cluster global objects (users, groups, databases > and tablespaces) 363c360 < When enabled, this would allow errors in multi-statement transactions > When enabled, this would allow errors in multi-statement transactions 417c414 < o Allow COPY to optionally include column headings as the first line > o Allow COPY to optionally include column headings in the first line 450c447 < > 462c459 < o Handle references to temporary tables that are created, destroyed, > o Handle references to temporary tables that are created, destroyed, 464c461 < > 469d465 < o Improve PL/PgSQL exception handling using savepoints 488c484 < > 503d498 < 518c513 < o Add pg_dumpall custom format dumps. > o Add pg_dumpall custom format dumps. 520c515 < This is probably best done by combining pg_dump and pg_dumpall > This is probably best done by combining pg_dump and pg_dumpall 532d526 < o Improve error handling (?) 555c549 < Adding shared locks requires recording the table/rows numbers in a > Adding shared locks requires recording the table/rows numbers in a 643c637 < Posix_fadvise() can control both sequential/random file caching and > Posix_fadvise() can control both sequential/random file caching and 703c697 < from distributted.net, http://www1.distributed.net/source, > from distributted.net, http://www1.distributed.net/source, 729c723 < * Add connection pooling [pool] > * Add connection pooling 755d748 < 759c752 < > 768c761 < so an abrupt operating system restart might lose a few seconds of > so an abrupt operating system restart might lose a few seconds of 785c778 < * Add utility to compute accurate random_page_cost value > * Create utility to compute accurate random_page_cost value 787,789d779 < * Allow sorting, temp files, temp tables to use multiple work directories < < This allows the I/O load to be spread across multiple disk drives. 795a786 > 808,809c799,800 < < * Use mmap() rather than SYSV shared memory or to write WAL files (?) [mmap] > > * Use mmap() rather than SYSV shared memory or to write WAL files (?) 812,813c803,804 < portability issues. Anonymous mmap (or mmap to /dev/zero) is required < to prevent I/O overhead. > portability issues. Anonymous mmap (or mmap to /dev/zero) is required > to prevent I/O overhead. 817,819c808,810 < Doing I/O to large tables would consume a lot of address space or < require frequent mapping/unmapping. Extending the file also causes < mapping problems that might require mapping only individual pages, > Doing I/O to large tables would consume a lot of address space or > require frequent mapping/unmapping. Extending the file also causes > mapping problems that might require mapping only individual pages, 821c812 < way to _prevent_ I/O to disk from the dirty shared buffers so changes > way to _prevent_ I/O to disk from the dirty shared buffers so changes 826c817 < tuple overhead > per-tuple overhead 829,831c820,822 < This would involve using multiple threads or processes to do optimization, < sorting, or execution of single query. The major advantage of such a < feature would be to allow multiple CPUs to work together to process a > This would involve using multiple threads or processes to do optimization, > sorting, or execution of single query. The major advantage of such a > feature would be to allow multiple CPUs to work together to process a 834c825 < * Research the use of larger pages sizes > * Research the use of larger page sizes 842a834 > * Move some /contrib modules out to their own project sites 845d836 < * Improve access-permissions check on data directory in Cygwin (Tom) 847,848c838 < * Clarify use of 'application' and 'command' tags in SGML docs < * Better document ability to build only certain interfaces (Marc) > * Improve documentation to build only interfaces (Marc) 852,853d841 < * Research interaction of setitimer() and sleep() used by statement_timeout < * Rename /scripts directory because they are all C programs now 856,857d843 < * Allow binaries to be statically linked so they are more easily relocated < * Move some /contrib modules out to their own project sites 862c848 < o Remove per-backend parameter file and move into shared memory? > o Remove per-backend parameter file and move into shared memory 877,878c863,864 < o Update clients to use data types, typmod, schema.table.column names of < result sets using new query protocol > o Update clients to use data types, typmod, schema.table.column names > of result sets using new query protocol 900d885 < * Kris is Kris Jurka 910c895 < * Simon is Simon Riggs > * Simon is Simon Riggs <simon@2ndquadrant.com> 913d897 < * Teodor is
This commit is contained in:
parent
4d0f669f3c
commit
6cd67c931a
148
doc/TODO
148
doc/TODO
@ -6,7 +6,7 @@ TODO list for PostgreSQL
|
||||
Bracketed items "[]" have more detail.
|
||||
|
||||
Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)
|
||||
Last updated: Wed Nov 10 00:47:03 EST 2004
|
||||
Last updated: Wed Nov 10 22:59:04 EST 2004
|
||||
|
||||
The most recent version of this document can be viewed at the PostgreSQL web
|
||||
site, http://www.PostgreSQL.org.
|
||||
@ -40,7 +40,7 @@ Administration
|
||||
|
||||
* Allow major upgrades without dump/reload, perhaps using pg_upgrade
|
||||
* Have SHOW ALL and pg_settings show descriptions for server-side variables
|
||||
* Allow GRANT/REVOKE permissions to be given to all schema objects with one
|
||||
* Allow GRANT/REVOKE permissions to be applied to all schema objects with one
|
||||
command
|
||||
* Remove unreferenced table files created by transactions that were
|
||||
in-progress when the server terminated abruptly
|
||||
@ -57,10 +57,10 @@ Administration
|
||||
tablespace t2
|
||||
|
||||
All objects in the default database tablespace must have default tablespace
|
||||
specifications. This is because new databases are created by copying
|
||||
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
|
||||
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.
|
||||
|
||||
@ -69,7 +69,7 @@ Administration
|
||||
|
||||
It could start with a random tablespace from a supplied list and cycle
|
||||
through the list.
|
||||
|
||||
|
||||
* 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
|
||||
@ -82,13 +82,13 @@ Administration
|
||||
|
||||
* Un-comment all variables in postgresql.conf
|
||||
|
||||
By not showing commented-out variables, we discourage people from
|
||||
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
|
||||
* Allow point-in-time recovery to archive partially filled write-ahead
|
||||
logs
|
||||
|
||||
Currently only full WAL files are archived. This means that the most
|
||||
@ -99,7 +99,7 @@ Administration
|
||||
transaction id for point-in-time recovery
|
||||
* 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.
|
||||
|
||||
* Add a function that returns the 'uptime' of the postmaster
|
||||
@ -125,7 +125,7 @@ Data Types
|
||||
* Remove Money type, add money formatting for decimal type
|
||||
* Change NUMERIC to enforce the maximum precision, and increase it
|
||||
* Add function to return compressed length of TOAST data values
|
||||
* Allow INET subnet tests with non-constants to be indexed
|
||||
* Allow INET subnet tests using non-constants to be indexed
|
||||
* Add transaction_timestamp(), statement_timestamp(), clock_timestamp()
|
||||
functionality
|
||||
|
||||
@ -140,10 +140,10 @@ Data Types
|
||||
* Allow infinite dates just like infinite timestamps
|
||||
* Have initdb set DateStyle based on locale?
|
||||
* Add pg_get_acldef(), pg_get_typedefault(), and pg_get_attrdef()
|
||||
* Allow to_char to print localized month names
|
||||
* Allow functions to have a search path specified at creation time
|
||||
* Allow to_char() to print localized month names
|
||||
* Allow functions to have a schema search path specified at creation time
|
||||
* Allow substring/replace() to get/set bit values
|
||||
* Add GUC variable to allow output of interval values in ISO8601 format
|
||||
* Add a GUC variable to allow output of interval values in ISO8601 format
|
||||
* Fix data types where equality comparison isn't intuitive, e.g. box
|
||||
* Merge hardwired timezone names with the TZ database; allow either kind
|
||||
everywhere a TZ name is currently taken
|
||||
@ -151,14 +151,14 @@ Data Types
|
||||
present australian_timezones hack)
|
||||
* Allow TIMESTAMP WITH TIME ZONE to store the original timezone
|
||||
information, either by name or offset from UTC
|
||||
* Prevent inet cast to cidr if the unmasked bits are not zero, or
|
||||
zero bits
|
||||
* Prevent INET cast to CIDR if the unmasked bits are not zero, or
|
||||
zero the bits
|
||||
|
||||
* ARRAYS
|
||||
o Allow nulls in arrays
|
||||
o Allow NULLs in arrays
|
||||
o Allow MIN()/MAX() on arrays
|
||||
o Delay resolution of array expression type so assignment coercion
|
||||
can be performed on empty array expressions
|
||||
o Delay resolution of array expression's data type so assignment
|
||||
coercion can be performed on empty array expressions
|
||||
o Modify array literal representation to handle array index lower bound
|
||||
of other than one
|
||||
|
||||
@ -215,10 +215,10 @@ Indexes
|
||||
=======
|
||||
|
||||
* Allow inherited tables to inherit index, UNIQUE constraint, and primary
|
||||
key, foreign key [inheritance]
|
||||
* UNIQUE INDEX on base column not honored on inserts/updates from
|
||||
key, foreign key
|
||||
* UNIQUE INDEX on base column not honored on INSERTs/UPDATEs from
|
||||
inherited table: INSERT INTO inherit_table (unique_index_col) VALUES
|
||||
(dup) should fail [inheritance]
|
||||
(dup) should fail
|
||||
|
||||
The main difficulty with this item is the problem of creating an index
|
||||
that can span more than one table.
|
||||
@ -243,7 +243,7 @@ Indexes
|
||||
Uniqueness (index) checks are done when updating a column even if the
|
||||
column is not modified by the UPDATE.
|
||||
|
||||
* Fetch heap pages matching index entries in sequential order [performance]
|
||||
* Fetch heap pages matching index entries in sequential order
|
||||
|
||||
Rather than randomly accessing heap pages based on index entries, mark
|
||||
heap pages needing access in a bitmap and do the lookups in sequential
|
||||
@ -304,7 +304,7 @@ Commands
|
||||
* Allow additional tables to be specified in DELETE for joins
|
||||
|
||||
UPDATE already allows this (UPDATE...FROM) but we need similar
|
||||
functionality in DELETE. It's been agreed that the keyword should
|
||||
functionality in DELETE. It's been agreed that the keyword should
|
||||
be USING, to avoid anything as confusing as DELETE FROM a FROM b.
|
||||
|
||||
* Add CORRESPONDING BY to UNION/INTERSECT/EXCEPT
|
||||
@ -315,7 +315,7 @@ Commands
|
||||
* Allow SET CONSTRAINTS to be qualified by schema/table name
|
||||
* Allow TRUNCATE ... CASCADE/RESTRICT
|
||||
* Allow PREPARE of cursors
|
||||
* Allow PREPARE to automatically determine parameter types based on the SQL
|
||||
* Allow PREPARE to automatically determine parameter types based on the SQL
|
||||
statement
|
||||
* Allow finer control over the caching of prepared query plans
|
||||
|
||||
@ -337,30 +337,27 @@ Commands
|
||||
message, perhaps indicating the row modified or other custom
|
||||
information.
|
||||
|
||||
* Allow CREATE TABLE foo (f1 INT CHECK (f1 > 0) CHECK (f1 < 10)) to work
|
||||
by searching for non-conflicting constraint names, and prefix with
|
||||
table name?
|
||||
* Use more reliable method for CREATE DATABASE to get a consistent copy
|
||||
of db?
|
||||
|
||||
Currently the system uses the operating system COPY command to create
|
||||
new database.
|
||||
a new database.
|
||||
|
||||
* Add C code to copy directories for use in creating new databases
|
||||
* Ignore temporary tables from other sessions when processing
|
||||
inheritance?
|
||||
* Have pg_ctl look at PGHOST in case it is a socket directory?
|
||||
* Allow column-level GRANT/REVOKE privileges
|
||||
* Add a session mode to warn about non-standard SQL usage in queries
|
||||
* Add MERGE command that does UPDATE/DELETE, or on failure, INSERT (rules, triggers?)
|
||||
* Add a GUC variable to warn about non-standard SQL usage in queries
|
||||
* Add MERGE command that does UPDATE/DELETE, or on failure, INSERT (rules,
|
||||
triggers?)
|
||||
* Add ON COMMIT capability to CREATE TABLE AS SELECT
|
||||
* Add NOVICE output level for helpful messages like automatic sequence/index creation
|
||||
* Add COMMENT ON for all cluster global objects (users, groups,
|
||||
databases and tablespaces)
|
||||
* Add NOVICE output level for helpful messages like automatic sequence/index
|
||||
creation
|
||||
* Add COMMENT ON for all cluster global objects (users, groups, databases
|
||||
and tablespaces)
|
||||
* Add an option to automatically use savepoints for each statement in a
|
||||
multi-statement transaction.
|
||||
|
||||
When enabled, this would allow errors in multi-statement transactions
|
||||
When enabled, this would allow errors in multi-statement transactions
|
||||
to be automatically ignored.
|
||||
|
||||
* Make row-wise comparisons work per SQL spec
|
||||
@ -414,7 +411,7 @@ Commands
|
||||
|
||||
o Allow COPY to understand \x as a hex byte
|
||||
o Have COPY return the number of rows loaded/unloaded (?)
|
||||
o Allow COPY to optionally include column headings as the first line
|
||||
o Allow COPY to optionally include column headings in the first line
|
||||
|
||||
* CURSOR
|
||||
o Allow UPDATE/DELETE WHERE CURRENT OF cursor
|
||||
@ -447,7 +444,7 @@ Commands
|
||||
o Add SET PATH for schemas (?)
|
||||
|
||||
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
|
||||
@ -459,14 +456,13 @@ Commands
|
||||
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,
|
||||
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.
|
||||
|
||||
o Fix PL/pgSQL RENAME to work on variables other than OLD/NEW
|
||||
o Improve PL/PgSQL exception handling using savepoints
|
||||
o Allow function parameters to be passed by name,
|
||||
get_employee_salary(emp_id => 12345, tax_year => 2001)
|
||||
o Add Oracle-style packages
|
||||
@ -485,7 +481,7 @@ Clients
|
||||
We already allow XML to be stored in the database, and XPath queries
|
||||
can be used on that data using /contrib/xml2. It also supports XSLT
|
||||
transformations.
|
||||
|
||||
|
||||
* Add a libpq function to support Parse/DescribeStatement capability
|
||||
* Prevent libpq's PQfnumber() from lowercasing the column name (?)
|
||||
* Allow libpq to access SQLSTATE so pg_ctl can test for connection failure
|
||||
@ -500,7 +496,6 @@ Clients
|
||||
the database as psql.
|
||||
|
||||
* Consistently display privilege information for all objects in psql
|
||||
|
||||
* pg_dump
|
||||
o Have pg_dump use multi-statement transactions for INSERT dumps
|
||||
o Allow pg_dump to use multiple -t and -n switches
|
||||
@ -515,9 +510,9 @@ Clients
|
||||
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
|
||||
'=(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.
|
||||
|
||||
o Add CSV output format
|
||||
@ -529,7 +524,6 @@ Clients
|
||||
information about the Informix-compatibility module.
|
||||
|
||||
o Solve cardinality > 1 for input descriptors / variables (?)
|
||||
o Improve error handling (?)
|
||||
o Add a semantic check level, e.g. check if a table really exists
|
||||
o fix handling of DB attributes that are arrays
|
||||
o Use backend PREPARE/EXECUTE facility for ecpg where possible
|
||||
@ -552,7 +546,7 @@ Referential Integrity
|
||||
|
||||
* Implement dirty reads or shared row locks and use them in RI triggers
|
||||
|
||||
Adding shared locks requires recording the table/rows numbers in a
|
||||
Adding shared locks requires recording the table/rows numbers in a
|
||||
shared area, and this could potentially be a large amount of data.
|
||||
One idea is to store the table/row numbers in a separate table and set
|
||||
a bit on the row indicating looking in this new table is required to
|
||||
@ -640,7 +634,7 @@ Cache
|
||||
* Allow free-behind capability for large sequential scans, perhaps using
|
||||
posix_fadvise()
|
||||
|
||||
Posix_fadvise() can control both sequential/random file caching and
|
||||
Posix_fadvise() can control both sequential/random file caching and
|
||||
free-behind behavior, but it is unclear how the setting affects other
|
||||
backends that also have the file open, and the feature is not supported
|
||||
on all operating systems.
|
||||
@ -700,7 +694,7 @@ Locking
|
||||
contention, improving concurrency.
|
||||
|
||||
* Add code to detect an SMP machine and handle spinlocks accordingly
|
||||
from distributted.net, http://www1.distributed.net/source,
|
||||
from distributted.net, http://www1.distributed.net/source,
|
||||
in client/common/cpucheck.cpp
|
||||
|
||||
On SMP machines, it is possible that locks might be released shortly,
|
||||
@ -726,7 +720,7 @@ Startup Time
|
||||
database startup overhead, but a few operating systems (WIn32,
|
||||
Solaris) might benefit from threading.
|
||||
|
||||
* Add connection pooling [pool]
|
||||
* Add connection pooling
|
||||
|
||||
It is unclear if this should be done inside the backend code or done
|
||||
by something external like pgpool. The passing of file descriptors to
|
||||
@ -752,11 +746,10 @@ Write-Ahead Log
|
||||
* Add WAL index reliability improvement to non-btree indexes
|
||||
* Allow the pg_xlog directory location to be specified during initdb
|
||||
with a symlink back to the /data location
|
||||
|
||||
* Allow WAL information to recover corrupted pg_controldata
|
||||
* Find a way to reduce rotational delay when repeatedly writing
|
||||
last WAL page
|
||||
|
||||
|
||||
Currently fsync of WAL requires the disk platter to perform a full
|
||||
rotation to fsync again. One idea is to write the WAL to different
|
||||
offsets that might reduce the rotational delay.
|
||||
@ -765,7 +758,7 @@ Write-Ahead Log
|
||||
|
||||
Instead of guaranteeing recovery of all committed transactions, this
|
||||
would provide improved performance by delaying WAL writes and fsync
|
||||
so an abrupt operating system restart might lose a few seconds of
|
||||
so an abrupt operating system restart might lose a few seconds of
|
||||
committed transactions but still be consistent. We could perhaps
|
||||
remove the 'fsync' parameter (which results in an an inconsistent
|
||||
database) in favor of this capability.
|
||||
@ -782,17 +775,15 @@ Optimizer / Executor
|
||||
table. Instead a sequential scan could get the matching value.
|
||||
|
||||
* Precompile SQL functions to avoid overhead
|
||||
* Add utility to compute accurate random_page_cost value
|
||||
* Create utility to compute accurate random_page_cost value
|
||||
* Improve ability to display optimizer analysis using OPTIMIZER_DEBUG
|
||||
* Allow sorting, temp files, temp tables to use multiple work directories
|
||||
|
||||
This allows the I/O load to be spread across multiple disk drives.
|
||||
* Have EXPLAIN ANALYZE highlight poor optimizer estimates
|
||||
* Use CHECK constraints to influence optimizer decisions
|
||||
|
||||
CHECK constraints contain information about the distribution of values
|
||||
within the table. This is also useful for implementing subtables where
|
||||
a tables content is distributed across several subtables.
|
||||
|
||||
* Consider using hash buckets to do DISTINCT, rather than sorting
|
||||
|
||||
This would be beneficial when there are few distinct values.
|
||||
@ -805,33 +796,33 @@ Miscellaneous
|
||||
|
||||
Async I/O allows multiple I/O requests to be sent to the disk with
|
||||
results coming back asynchronously.
|
||||
|
||||
* Use mmap() rather than SYSV shared memory or to write WAL files (?) [mmap]
|
||||
|
||||
* Use mmap() rather than SYSV shared memory or to write WAL files (?)
|
||||
|
||||
This would remove the requirement for SYSV SHM but would introduce
|
||||
portability issues. Anonymous mmap (or mmap to /dev/zero) is required
|
||||
to prevent I/O overhead.
|
||||
portability issues. Anonymous mmap (or mmap to /dev/zero) is required
|
||||
to prevent I/O overhead.
|
||||
|
||||
* Consider mmap()'ing files into a backend?
|
||||
|
||||
Doing I/O to large tables would consume a lot of address space or
|
||||
require frequent mapping/unmapping. Extending the file also causes
|
||||
mapping problems that might require mapping only individual pages,
|
||||
Doing I/O to large tables would consume a lot of address space or
|
||||
require frequent mapping/unmapping. Extending the file also causes
|
||||
mapping problems that might require mapping only individual pages,
|
||||
leading to thousands of mappings. Another problem is that there is no
|
||||
way to _prevent_ I/O to disk from the dirty shared buffers so changes
|
||||
way to _prevent_ I/O to disk from the dirty shared buffers so changes
|
||||
could hit disk before WAL is written.
|
||||
|
||||
* Add a script to ask system configuration questions and tune postgresql.conf
|
||||
* Use a phantom command counter for nested subtransactions to reduce
|
||||
tuple overhead
|
||||
per-tuple overhead
|
||||
* Consider parallel processing a single query
|
||||
|
||||
This would involve using multiple threads or processes to do optimization,
|
||||
sorting, or execution of single query. The major advantage of such a
|
||||
feature would be to allow multiple CPUs to work together to process a
|
||||
This would involve using multiple threads or processes to do optimization,
|
||||
sorting, or execution of single query. The major advantage of such a
|
||||
feature would be to allow multiple CPUs to work together to process a
|
||||
single query.
|
||||
|
||||
* Research the use of larger pages sizes
|
||||
* Research the use of larger page sizes
|
||||
|
||||
|
||||
Source Code
|
||||
@ -840,26 +831,21 @@ Source Code
|
||||
* Add use of 'const' for variables in source tree
|
||||
* Rename some /contrib modules from pg* to pg_*
|
||||
* Move some things from /contrib into main tree
|
||||
* Move some /contrib modules out to their own project sites
|
||||
* Remove warnings created by -Wcast-align
|
||||
* Move platform-specific ps status display info from ps_status.c to ports
|
||||
* Improve access-permissions check on data directory in Cygwin (Tom)
|
||||
* Add optional CRC checksum to heap and index pages
|
||||
* Clarify use of 'application' and 'command' tags in SGML docs
|
||||
* Better document ability to build only certain interfaces (Marc)
|
||||
* Improve documentation to build only interfaces (Marc)
|
||||
* Remove or relicense modules that are not under the BSD license, if possible
|
||||
* Remove memory/file descriptor freeing before ereport(ERROR)
|
||||
* Acquire lock on a relation before building a relcache entry for it
|
||||
* Research interaction of setitimer() and sleep() used by statement_timeout
|
||||
* Rename /scripts directory because they are all C programs now
|
||||
* Promote debug_query_string into a server-side function current_query()
|
||||
* Allow the identifier length to be increased via a configure option
|
||||
* Allow binaries to be statically linked so they are more easily relocated
|
||||
* Move some /contrib modules out to their own project sites
|
||||
* Remove Win32 rename/unlink looping if unnecessary
|
||||
* Remove kerberos4 from source tree?
|
||||
|
||||
* Win32
|
||||
o Remove per-backend parameter file and move into shared memory?
|
||||
o Remove per-backend parameter file and move into shared memory
|
||||
o Remove configure.in check for link failure when cause is found
|
||||
o Remove readdir() errno patch when runtime/mingwex/dirent.c rev
|
||||
1.4 is released
|
||||
@ -874,8 +860,8 @@ Source Code
|
||||
o Allow dynamic character set handling
|
||||
o Add decoded type, length, precision
|
||||
o Use compression?
|
||||
o Update clients to use data types, typmod, schema.table.column names of
|
||||
result sets using new query protocol
|
||||
o Update clients to use data types, typmod, schema.table.column names
|
||||
of result sets using new query protocol
|
||||
|
||||
|
||||
---------------------------------------------------------------------------
|
||||
@ -897,7 +883,6 @@ Developers who have claimed items are:
|
||||
* Jan is Jan Wieck <JanWieck@Yahoo.com> of Afilias, Inc.
|
||||
* Joe is Joe Conway <mail@joeconway.com>
|
||||
* Karel is Karel Zak <zakkr@zf.jcu.cz>
|
||||
* Kris is Kris Jurka
|
||||
* Magnus is Magnus Hagander <mha@sollentuna.net>
|
||||
* Marc is Marc Fournier <scrappy@hub.org> of PostgreSQL, Inc.
|
||||
* Matthew T. O'Connor <matthew@zeut.net>
|
||||
@ -907,8 +892,7 @@ Developers who have claimed items are:
|
||||
* Peter is Peter Eisentraut <peter_e@gmx.net>
|
||||
* Philip is Philip Warner <pjw@rhyme.com.au> of Albatross Consulting Pty. Ltd.
|
||||
* Rod is Rod Taylor <pg@rbt.ca>
|
||||
* Simon is Simon Riggs
|
||||
* Simon is Simon Riggs <simon@2ndquadrant.com>
|
||||
* Stephan is Stephan Szabo <sszabo@megazone23.bigpanda.com>
|
||||
* Tatsuo is Tatsuo Ishii <t-ishii@sra.co.jp> of Software Research Assoc.
|
||||
* Teodor is
|
||||
* Tom is Tom Lane <tgl@sss.pgh.pa.us> of Red Hat
|
||||
|
Loading…
x
Reference in New Issue
Block a user