From PostgreSQL wiki
This list contains all PostgreSQL bugs and features requests that were solved in 9.1. There is a Todo page too for bugs and features that are still not solved.
- [D] Allow auto-selection of partitioned tables for min/max() operations
- There was a patch on -hackers from July 2009, but it has not been merged: MIN/MAX optimization for partitioned table
- [D] Improve server security options
- [D] Allow the client to authenticate the server in a Unix-domain socket connection, e.g., using SO_PEERCRED
- [D] Increase maximum values for max_standby_streaming_delay and log_min_duration_statement
- [D] Allow pg_hba.conf to specify host names along with IP addresses
- Host name lookup could occur when the postmaster reads the pg_hba.conf file, or when the backend starts. Another solution would be to reverse lookup the connection IP and check that hostname against the host names in pg_hba.conf. We could also then check that the host name maps to the IP address.
- [D] Have pg_hba.conf consider "replication" special only in the database field
- [D] Rename unix domain socket 'ident' connections to 'peer', to avoid confusion with TCP 'ident'
- [D] Allow the clearing of cluster-level statistics
- Resetting cluster-wide statistics
- pg_stat_reset_shared('bgwriter') (9.0) now handles the pg_stat_bgwriter subset of this
Point-In-Time Recovery (PITR)
- [D] Allow recovery.conf to support the same syntax as postgresql.conf, including quoting
Standby server mode
- [D] Add a new privilege for connecting for streaming replication
- [D] Add capability to take and send a base backup over the streaming replication connection, making it possible to initialize a new standby server from a running primary server without a WAL archive or other access to the primary server.
- [D] Allow the automatic removal of old directories when streaming base backups
- [D] Reduce storage space for small NUMERICs
- [D] Allow adding enumerated values to an existing enumerated data type
MONEY Data Type
- [D] Add printf()-like functionality
- [D] Allow more fine-grained collation selection
Right now the collation is fixed at database creation time.
- Re: Patch for collation using ICU
- FW: Win32 unicode vs ICU
- Re: FW: Win32 unicode vs ICU
- Proof of concept COLLATE support with patch
- For review: Initial support for COLLATE
- Proposed COLLATE implementation
- TODO item: locale per database patch (new iteration)
- Re: FW: Win32 unicode vs ICU
- Re: Fixed length data types issue
- [WIP] collation support revisited (phase 1)
- WIP patch: Collation support
- Re: WIP patch: Collation support
- PGDay.it collation discussion notes
- Unicode collation algorithm
- [D] Set client encoding based on the client operating system encoding
- Currently client_encoding is set in postgresql.conf, which defaults to the server encoding.
- [D] Fix TRUNCATE ... RESTART IDENTITY so its effect on sequences is rolled back on transaction abort
- [D] Enable standard_conforming_strings by default
- When this is done, backslash-quote should be prohibited in non-E'' strings because of possible confusion over how such strings treat backslashes. Basically, '' is always safe for a literal single quote, while \' might or might not be based on the backslash handling rules.
- [D] Allow INSERT/UPDATE/DELETE ... RETURNING in common table expressions
- [D] Add support for functional dependencies
- This would allow omitting GROUP BY columns when grouping by the primary key.
- [D] Allow CREATE TABLE to optionally create a table if it does not already exist, without throwing an error
- The fact that tables contain data makes this more complex than other CREATE OR REPLACE operations.
- [D] Allow an existing index to be marked as a table's primary key
- [D] Allow ALTER TYPE on composite types to perform operations similar to ALTER TABLE
- [D] Don't require table rewrite on ALTER TABLE ... ALTER COLUMN TYPE, when the old and new data types are binary compatible
- [D] Reduce locking required for ALTER commands
- [D] Fix removal of NULL constraints in inherited tables
- [D] Improve CLUSTER performance by sorting to reduce random I/O
- [D] Add tracebacks
- [D] Consider showing TOAST and index sizes in \dt+
- [D] Add \dL to show languages
- [D] Distinguish between unique indexes and unique constraints in \d+
- [D] Add code to detect client encoding and locale from the operating system environment
- [D] Support empty indexed values (such as zero-element arrays) properly
- [D] Behave correctly for cases where some elements of an indexed value are NULL
- [D] Support queries that require a full scan
- [D] Improve GIN's handling of NULL array values
- [D] Consider improving serialized transaction behavior to avoid anomalies
- [D] Allow WAL logging to be turned off for a table, but the table might be dropped or truncated during crash recovery
- Allow tables to bypass WAL writes and just fsync() dirty pages on commit. This should be implemented using ALTER TABLE, e.g. ALTER TABLE PERSISTENCE [ DROP | TRUNCATE | DEFAULT ]. Tables using non-default logging should not use referential integrity with default-logging tables. A table without dirty buffers during a crash could perhaps avoid the drop/truncate.
Optimizer / Executor
- [D] Allow hashing to be used on arrays, if the element type is hashable
- [D] Improve the module installation experience (/contrib, etc)