* Protect against indirect security threats caused by index functions
changing session-local state
* Reject SSL certificates containing an embedded null byte in the
common name (CN) field
* Fix hash index corruption
* Fix possible crash during backend-startup-time cache initialization
* Avoid crash on empty thesaurus dictionary
* Prevent signals from interrupting VACUUM at unsafe times
* Fix possible crash due to integer overflow in hash table size
calculation
* Fix crash if a DROP is attempted on an internally-dependent object
* Fix very rare crash in inet/cidr comparisons
* Ensure that shared tuple-level locks held by prepared transactions
are not ignored
* Fix premature drop of temporary files used for a cursor that is
accessed within a subtransaction
* Fix memory leak in syslogger process when rotating to a new CSV
logfile
* Fix memory leak in postmaster when re-parsing "pg_hba.conf"
* Fix Windows permission-downgrade logic
* Make FOR UPDATE/SHARE in the primary query not propagate into WITH
queries
* Fix bug with a WITH RECURSIVE query immediately inside another one
* Fix concurrency bug in hash indexes
* Fix incorrect logic for GiST index page splits, when the split
depends on a non-first column of the index
* Fix wrong search results for a multi-column GIN index with
fastupdate enabled
* More...
* Fix WAL page header initialization at the end of archive recovery
* Fix "cannot make new WAL entries during recovery" error
* Fix problem that could make expired rows visible after a crash
* Disallow "RESET ROLE" and "RESET SESSION AUTHORIZATION" inside
security-definer functions
* Make "LOAD" of an already-loaded loadable module into a no-op
* Make window function PARTITION BY and ORDER BY items always be
interpreted as simple expressions
* Fix several errors in planning of semi-joins
* Fix handling of whole-row references to subqueries that are within
an outer join
* Fix Windows shared-memory allocation code
* Fix locale handling with plperl
* Fix handling of reloptions to ensure setting one option doesn't
force default values for others
* Ensure that a "fast shutdown" request will forcibly terminate open
sessions, even if a "smart shutdown" was already in progress
* Avoid memory leak for array_agg() in GROUP BY queries
* Treat to_char(..., 'TH') as an uppercase ordinal suffix with 'HH'/'HH12'
monitoring tools and commands. Each user has their own favorite features which
will make day-to-day work with PostgreSQL easier and more productive for them.
Among the most popular enhancements are:
* Parallel Database Restore, speeding up recovery from backup up to 8 times
* Per-Column Permissions, allowing more granular control of sensitive data
* Per-database Collation Support, making PostgreSQL more useful in
multi-lingual environments
* In-place Upgrades through pg_migrator (beta), enabling upgrades from 8.3 to
8.4 without extensive downtime
* New Query Monitoring Tools, giving administrators more insight into query
activity
* Greatly Reduced VACUUM Overhead through the Visibility Map
* New Monitoring Tools for current queries, query load and deadlocks
Version 8.4 also makes data analysis easier through the advanced ANSI SQL2003
features of windowing functions, common table expressions and recursive queries.
Enhancements to stored procedures, such as default parameters and variadic
parameters, make database server programming simpler and more compact.
Of course, there are also performance improvements included in this version.