This list contains items that were formerly on the Todo list.
Please do not add items here without discussion on the mailing list.
Administration
Allow custom variables to appear in pg_settings()
-
Have custom variables be transaction-safe
-
Implement the SQL-standard mechanism whereby REVOKE ROLE revokes only the privilege granted by the invoking role, and not those granted by other roles
-
Configuration files
Consider normalizing fractions in postgresql.conf, perhaps using '%'
-
Add external tool to auto-tune some postgresql.conf parameters
-
Create utility to compute accurate random_page_cost value
-
Allow synchronous_standby_names to be disabled after communication failure with all synchronous standby servers exceeds some timeout
-
This also requires successful execution of a synchronous notification command.
Adjust rounding behavior for numeric GUC values
-
Tablespaces
Allow per-tablespace quotas
-
Allow tablespaces on RAM-based partitions for temporary objects
-
Close race in DROP TABLESPACE on Windows
-
Statistics Collector
Track number of WAL files ready to be archived in pg_stat_archiver
-
Point-In-Time Recovery (PITR)
Allow archive_mode to be changed without server restart?
-
Standby server mode
Allow pg_xlogfile_name() to be used in recovery mode
-
Change walsender so that it applies per-role settings
-
Data Types
Fix data types where equality comparison is not intuitive, e.g. box
-
Add IMMUTABLE column attribute
-
Domains
Allow functions defined as casts to domains to be called during casting
-
Allow values to be cast to domain types
-
Make domains work better with polymorphic functions
-
Dates and Times
Allow TIMESTAMP WITH TIME ZONE to store the original timezone information, either zone name or offset from UTC
-
If the TIMESTAMP value is stored with a time zone name, interval computations should adjust based on the time zone rules.
Have timestamp subtraction not call justify_hours()?
-
Allow a comma to denote fractional seconds in ISO-8601-compliant times (and timestamps)
-
Arrays
Add function to detect if an array is empty
-
Improve handling of NULLs in arrays
-
MONEY Data Type
Add locale-aware MONEY type, and support multiple currencies
-
MONEY dumps in a locale-specific format making it difficult to restore to a system with a different locale
-
Text Search
Allow dictionaries to change the token that is passed on to later dictionaries
-
Consider a function-based API for '@@' searches
-
Improve text search error messages
-
tsearch and tsdicts regression tests fail in Turkish locale on glibc
-
Improve handling of dash and plus signs in email address user names, and perhaps improve URL parsing
-
XML
Allow XML arrays to be cast to other data types
-
Allow reliable XML operation non-UTF8 server encodings (xpath(), in particular, is known to not work)
-
Move XSLT from contrib/xml2 to a more reasonable location
-
Improve the XSLT parameter passing API
-
xpath_table needs to be implemented/implementable to get rid of contrib/xml2 [1]
-
xpath_table is pretty broken anyway [2]
-
better handling of XPath data types [3] [4]
-
Improve handling of PIs and DTDs in xmlconcat() [5]
-
Restructure XML and /contrib/xml2 functionality
-
Functions
Enforce typmod for function inputs, function results and parameters for spi_prepare'd statements called from PLs
-
Reduce memory usage of aggregates in set returning functions
-
Character Formatting
Add missing parameter handling in to_char()
-
Throw an error from to_char() instead of printing a string of "#" when a number doesn't fit in the desired output format.
-
Fix to_number() handling for values not matching the format string
-
Multi-Language Support
Add a cares-about-collation column to pg_proc, so that unresolved-collation errors can be thrown at parse time
-
Add octet_length_server() and octet_length_client()
-
Make octet_length_client() the same as octet_length()?
-
Fix problems with wrong runtime encoding conversion for NLS message files
-
Views and Rules
Allow VIEW/RULE recompilation when the underlying tables change
-
Make it possible to use RETURNING together with conditional DO INSTEAD rules, such as for partitioning setups
-
SQL Commands
Add a GUC variable to warn about non-standard SQL usage in queries
-
Add NOVICE output level for helpful messages
-
For example, have it warn about unjoined tables. This could also control automatic sequence/index creation messages.
Allow DISTINCT to work in multiple-argument aggregate calls
-
Allow DELETE and UPDATE to be used with LIMIT and ORDER BY
-
Vacuum
Auto-fill the free space map by scanning the buffer cache or by checking pages written by the background writer
-
Optimizer / Executor
Consider increasing the default values of from_collapse_limit, join_collapse_limit, and/or geqo_threshold
-
Improve use of expression indexes for ORDER BY
-
Modify the planner to better estimate caching effects
-
Allow shared buffer cache contents to affect index cost computations
-