Not Worth Doing
From PostgreSQL wiki
Jump to navigationJump to searchThis list contains items that were formerly on the Todo list.
Please do not add items here without discussion on the mailing list.
Administration
- 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
- 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.
Tablespaces
Statistics Collector
Point-In-Time Recovery (PITR)
Standby server mode
Data Types
Domains
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.
Arrays
MONEY Data Type
Text Search
XML
- Allow reliable XML operation non-UTF8 server encodings (xpath(), in particular, is known to not work)
- xpath_table needs to be implemented/implementable to get rid of contrib/xml2 [1]
- xpath_table is pretty broken anyway [2]
- Improve handling of PIs and DTDs in xmlconcat() [5]
Functions
- Enforce typmod for function inputs, function results and parameters for spi_prepare'd statements called from PLs
Character Formatting
- Throw an error from to_char() instead of printing a string of "#" when a number doesn't fit in the desired output format.
- discussed in "to_char, support for EEEE format"
Multi-Language Support
- Add a cares-about-collation column to pg_proc, so that unresolved-collation errors can be thrown at parse time
Views and Rules
- Make it possible to use RETURNING together with conditional DO INSTEAD rules, such as for partitioning setups
SQL Commands
- Add NOVICE output level for helpful messages
- For example, have it warn about unjoined tables. This could also control automatic sequence/index creation messages.
Vacuum
- Auto-fill the free space map by scanning the buffer cache or by checking pages written by the background writer
Optimizer / Executor
Server-Side Languages
Clients
psql
Miscellaneous Performance
- Rather than mmap()-ing in 8k pages, mmap()'ing entire 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, 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 could hit disk before WAL is written.
Exotic Features
- Allowing control of upper/lower case folding of unquoted identifiers
- Bringing PostgreSQL torwards the standard regarding case folding
- Re: [SQL] Case Preservation disregarding case sensitivity?
- TODO Item: Consider allowing control of upper/lower case folding of unquoted, identifiers
- Identifier case folding notes
- Identifier case folding notes
- Cluster wide option to control symbol case folding
Features We Do Not Want
- "Oracle-style" optimizer hints
- Optimizer hints, as implemented in Oracle and other RDBMSes, are used to work around problems in the optimizer and introduce upgrade and maintenance issues. We would rather have such problems reported and fixed. We have discussed a more sophisticated system of per-class cost adjustment instead, but a specification remains to be developed. See Optimizer Hints Discussion for further information.
- Embedded server
- While PostgreSQL clients runs fine in limited-resource environments, the server requires multiple processes and a stable pool of resources to run reliably and efficiently. Stripping down the PostgreSQL server to run in the same process address space as the client application would add too much complexity and failure cases. Besides, there are several very mature embedded SQL databases already available.
- Obfuscated function source code
- Obfuscating function source code has minimal protective benefits because anyone with super-user access can find a way to view the code. At the same time, it would greatly complicate backups and other administrative tasks. To prevent non-super-users from viewing function source code, remove SELECT permission on pg_proc.
- Indeterminate behavior for the GROUP BY clause
- At least one other database product allows specification of a subset of the result columns which GROUP BY would need to be able to provide predictable results; the server is free to return any value from the group. This is not viewed as a desirable feature. PostgreSQL 9.1 allows result columns that are not referenced by GROUP BY if a primary key for the same table is referenced in GROUP BY.