Stable Release in branch 8.3
8.3.23
Released 04 Feb 2013
(13 years ago)
SoftwarePostgreSQL
Version8.3
Status
End of life
Initial release8.3.0
01 Feb 2008
(18 years ago)
Latest release8.3.23
04 Feb 2013
(13 years ago)
End of life07 Feb 2013
(Ended 13 years ago)
Release noteshttps://www.postgresql.org/docs/8.3/release.html
Source codehttps://github.com/postgres/postgres/tree/REL8_3_23
Documentationhttps://www.postgresql.org/docs/8.3/
Downloadhttps://www.postgresql.org/download/
PostgreSQL 8.3 ReleasesView full list

What Is New in PostgreSQL 8.3

PostgreSQL 8.3 delivers significant performance gains and powerful new features for developers and DBAs. This release focuses on making the database faster and easier to manage in production environments.

Category Key Changes
Performance Heap-Only Tuples (HOT), Spread Checkpoints, BGWriter Autotuning
Monitoring pg_stat_statements, Automatic Log Rotation
Data Types ENUM types, UUID type, SQL/XML support
Administration Full Text Search improvements, Easier Warm Standby

How does PostgreSQL 8.3 improve performance?

The performance improvements are the headline feature of this release. Heap-Only Tuples (HOT) allows certain UPDATE operations to avoid creating index entries, which drastically reduces vacuum overhead and table bloat. This is a game-changer for write-heavy workloads.

Spread checkpoints help smooth out I/O by writing out dirty buffers more evenly across the checkpoint interval. The background writer (BGWRITER) also got smarter with autotuning, which helps maintain a steady supply of clean buffers for incoming queries.

What new monitoring tools are available?

PostgreSQL 8.3 introduced the pg_stat_statements module, which is now a cornerstone of query performance analysis. It tracks execution statistics for all SQL statements, making it easy to identify the most expensive queries.

For log management, the new log_rotation_age and log_rotation_size parameters allow for automatic log file rotation. This eliminates the need for external scripts just to manage log files, simplifying administration.

Which new data types were added?

This release adds native support for ENUM and UUID data types. Using native ENUMs is much cleaner than using check constraints on text fields, and the UUID type is essential for distributed systems.

SQL/XML support was also enhanced with new functions like xmlparse and xmlserialize, making it more practical to handle XML data directly within the database.

How is Full Text Search better?

Full Text Search (FTS) received major usability upgrades. The new headline() function helps generate document excerpts with search terms highlighted, which is perfect for building search result pages.

You can now also use multiple dictionaries per text search configuration and validate configurations with ts_debug(). These changes make FTS more flexible and easier to debug.

FAQ

What exactly is HOT and why does it matter?
HOT (Heap-Only Tuples) allows an UPDATE that doesn't change any indexed columns to reuse the same index entry. This dramatically reduces index bloat and the need for VACUUM, which is crucial for high-update tables.

Is warm standby easier to set up now?
Yes, setting up a read-only standby server is simpler. You can use pg_start_backup() and pg_stop_backup() to create a base backup, then ship WAL files to the standby without additional tools.

How does pg_stat_statements help with tuning?
It aggregates statistics like total time, rows, and calls for every normalized query. You can quickly find your most expensive queries by running SELECT * FROM pg_stat_statements ORDER BY total_time DESC;.

When should I use the new ENUM type?
Use it for columns with a static, predefined set of values (e.g., statuses, types). It's more efficient and enforces data integrity better than a VARCHAR with a check constraint.

Are there any changes to the way VACUUM works?
While not a direct VACUUM change, the HOT feature significantly reduces the need for aggressive vacuuming on frequently updated tables. This makes autovacuum much more effective at keeping up with the workload.

Releases In Branch 8.3

VersionRelease date
8.3.2304 Feb 2013
(13 years ago)
8.3.2203 Dec 2012
(13 years ago)
8.3.2119 Sep 2012
(13 years ago)
8.3.2014 Aug 2012
(13 years ago)
8.3.1931 May 2012
(14 years ago)
8.3.1823 Feb 2012
(14 years ago)
8.3.1701 Dec 2011
(14 years ago)
8.3.1622 Sep 2011
(14 years ago)
8.3.1515 Apr 2011
(15 years ago)
8.3.1428 Jan 2011
(15 years ago)
8.3.1314 Dec 2010
(15 years ago)
8.3.1201 Oct 2010
(15 years ago)
8.3.1114 May 2010
(16 years ago)
8.3.1012 Mar 2010
(16 years ago)
8.3.910 Dec 2009
(16 years ago)
8.3.804 Sep 2009
(16 years ago)
8.3.713 Mar 2009
(17 years ago)
8.3.602 Feb 2009
(17 years ago)
8.3.531 Oct 2008
(17 years ago)
8.3.419 Sep 2008
(17 years ago)
8.3.309 Jun 2008
(18 years ago)
8.3.206 Jun 2008
(18 years ago)
8.3.114 Mar 2008
(18 years ago)
8.3.001 Feb 2008
(18 years ago)