TodoDone90
From PostgreSQL wiki
Jump to navigationJump to search
This page contains historical information or deprecated articles.
This list contains all PostgreSQL bugs and features requests that were solved in 9.0. There is a Todo page too for bugs and features that are still not solved.
Administration
- [D] Allow more complex user/database default GUC settings
- Currently ALTER USER and ALTER DATABASE support per-user and per-database defaults. Consider adding per-user-and-database defaults so things like search_path can be defaulted for a specific user connecting to a specific database.
- [D] Allow custom variables to be created only by super-users but modified by ordinary uses, where appropriate
- [D] Allow server-side enforcement of password policies
- Password checks might include password complexity or non-reuse of passwords. This facility will require the client to send password creation/changes to the server in plain-text, not MD5.
Tablespaces
Point-In-Time Recovery (PITR)
Standby server mode
Data Types
Dates and Times
- [D] Revise the src/timezone/tznames abbreviation files:
- to add missing abbreviations
- to find abbreviations that can be safely promoted to the Default list
- BUG #4377: casting result of timeofday() to timestamp fails in some timezones
Binary Data
XML
Functions
- [D] Add missing operators for geometric data types
- Some geometric types do not have the full suite of geometric operators, e.g. box @> point
SQL Commands
- [D] Forbid COMMENT on columns of an index
- Postgres currently allows comments to be placed on the columns of an index, but pg_dump doesn't handle them and the column names themselves are implementation-dependent.
CREATE
COPY
GRANT/REVOKE
- [D] Allow GRANT/REVOKE permissions to be applied to all schema objects with one command
- The proposed syntax is: GRANT SELECT ON ALL TABLES IN public TO phpuser; GRANT SELECT ON NEW TABLES IN public TO phpuser;
LISTEN/NOTIFY
Window Functions
See TODO items for window functions.
Integrity Constraints
Keys
Server-Side Languages
PL/pgSQL
- [D] Allow function parameters to be passed by name, get_employee_salary(12345 AS emp_id, 2001 AS tax_year)
PL/Python
create table users (first_name text, last_name text); create function user_name(user) returns text as 'mycode' language plpython; select user_name(user) from users; alter table add column user_id integer; select user_name(user) from users;
You have to drop and create the function(s) each time its arguments are modified (not nice), or don't cache the input and output functions (slower?), or check if the structure of the argument has been altered (is this possible, easy, quick?) and recreate cache.}}
Clients
pg_dump / pg_restore
ecpg
- [D] Implement SQLDA
- add sqlda support to ecpg in both native and compatibility mode
libpq
Triggers
Indexes
Hash
- [D] Pack hash index buckets onto disk pages more efficiently
- Currently only one hash bucket can be stored on a page. Ideally several hash buckets could be stored on a single page and greater granularity used for the hash algorithm. However, the binary searching within a hash page probably renders this issue moot.
Catalogs
Vacuum
- [D] Improve VACUUM FULL's speed when major data movement is needed
- For large table adjustments during VACUUM FULL, it would be faster to cluster or reindex rather than update the indexes piecemeal as it does now. Also, this behavior tends to bloat the indexes.
Write-Ahead Log
Source Code
- [D] Allow table and index WITH options to be specified via hooks, for use with plugins like GiST index methods