Version History
The most authoritative way to find out what has changed in between PostgreSQL versions is to read the Release Notes.
A summary of major changes in features is at Feature Matrix.
For general guidelines about the most common issues encountered when upgrading from one PostgreSQL version to a newer one, see Postgres Upgrades - Ten Problems and Solutions and Upgrading old versions of Postgres
9.1 Changes
9.0 Changes
8.4 Changes
- PostgreSQL 8.4 Feature List
- Waiting for 8.4
- Performance Enhancements in PostgreSQL 8.4
- PostgreSQL 8.4 Performance Features
8.3 Changes
One of the biggest migration concerns the removal of implicit casts has broken many applications. While ultimately these programs should be rewritten to correct this incompatibility (samples), it's possible to add back in missing casts to ease migration to 8.3. See Re-adding implicit casts in PostgreSQL 8.3 for scripts
Here are a list of articles about new features in 8.3:
- PostgreSQL 8.3 Feature List
- PostgreSQL 8.3 Cheat Sheet Overview
- Synchronized Scans
- PostgreSQL 8.3 Features: Arrays of Compound Types
- PostgreSQL 8.3 Features: Plan Invalidation
- Optimizing function calls in PostgreSQL 8.3
- Converting tsearch2 to 8.3 (also note the manual section Migration from Pre-8.3 Text Search)
- Checkpoints and the Background Writer: PostgreSQL 8.3 Improvements and Migration
- PostgreSQL Performance Features in 8.3
Some of the articles previously available were lost in a server crash; these are currently unavailable but might be restored by their authors eventually:
- work_mem tuning and log_temp_files
- Upgrading to 8.3 - MediaWiki lessons learned (talks about implicit casts and tsearch migration). Can instead try Upgrading MediaWiki from PostgreSQL 8.2 to 8.3 and Upgrading PostgreSQL 8.2 to 8.3 (mediawiki)
- Integrated Security in PostgreSQL 8.3