Appendix A. Release Notes

Table of Contents
A.1. 7.3 Development Branch
A.2. Release 7.3
A.3. Release 7.2.3
A.4. Release 7.2.2
A.5. Release 7.2.1
A.6. Release 7.2
A.7. Release 7.1.3
A.8. Release 7.1.2
A.9. Release 7.1.1
A.10. Release 7.1
A.11. Release 7.0.3
A.12. Release 7.0.2
A.13. Release 7.0.1
A.14. Release 7.0
A.15. Release 6.5.3
A.16. Release 6.5.2
A.17. Release 6.5.1
A.18. Release 6.5
A.19. Release 6.4.2
A.20. Release 6.4.1
A.21. Release 6.4
A.22. Release 6.3.2
A.23. Release 6.3.1
A.24. Release 6.3
A.25. Release 6.2.1
A.26. Release 6.2
A.27. Release 6.1.1
A.28. Release 6.1
A.29. Release 6.0
A.30. Release 1.09
A.31. Release 1.02
A.32. Release 1.01
A.33. Release 1.0
A.34. Postgres95 Release 0.03
A.35. Postgres95 Release 0.02
A.36. Postgres95 Release 0.01

A.1. 7.3 Development Branch

Below is a subset of the changes that have gone into the development branch of PostgreSQL since version 7.2. For a complete list of changes, consult the CVS logs.

Mixed numeric-and-float expressions are evaluated as float, per SQL spec
Explicit casts to char, varchar, bit, varbit will truncate or pad without error
CREATE OR REPLACE VIEW, CREATE OR REPLACE RULE are available
No-autocommit mode is available (set autocommit to off)
Substantial improvements in functionality for functions returning sets
Client libraries older than 6.3 no longer supported (version 0 protocol removed)
PREPARE statement allows caching query plans for interactive statements
Type OPAQUE is now deprecated in favor of pseudo-types cstring, trigger, etc
Standalone composite types can now be created with CREATE TYPE
Files larger than 2 GB are now supported (if supported by the operating system)
SERIAL no longer implies UNIQUE; specify explicitly if index is wanted
pg_dump -n and -N options have been removed.  The new behavior is like -n but knows about key words.
CLUSTER is no longer hazardous to your schema
COPY accepts a list of columns to copy
ALTER TABLE DROP COLUMN
CREATE OPERATOR CLASS/DROP OPERATOR CLASS
CREATE CAST/DROP CAST
Sequences created by SERIAL column definitions now auto-drop with the column
Most forms of DROP now support RESTRICT and CASCADE options
Recursive SQL functions can be defined
User-defined procedural languages can register a validator function to check new functions as they are created
Functions can be executed with the privileges of the owner
Syntax of CREATE FUNCTION has been extended to resemble SQL99
Effects of SET within a transaction block now roll back if transaction aborts
New SET LOCAL syntax sets a parameter for the life of the current transaction
Datestyle, timezone, client_encoding can be set in postgresql.conf
The last vestiges of support for type names datetime and timespan are gone; use timestamp and interval instead
Rule names are now per-relation, not global; DROP RULE and COMMENT ON RULE syntax changes accordingly
Readline and Zlib are now required by default and must be turned off explicitly if their use is not desired
Define a third class of function volatility to allow indexscans in more cases
Locale support is now built by default; choice of locale is set by initdb and/or at run-time
ALTER TABLE ALTER COLUMN SET/DROP NOT NULL
EXPLAIN and SHOW output comes out as a query result, not a NOTICE message
DOMAINs (types that are constrained versions of base types)
Access privileges on functions
Access privileges on procedural languages
CREATE DATABASE has OWNER option so superuser can create DB for someone else
Kerberos 5 support now works with Heimdal
Database and user-specific session defaults for run-time configuration variables (ALTER DATABASE ... SET and ALTER USER ... SET)
String function OVERLAY() implemented per SQL99
Regular expression operator SIMILAR TO implemented per SQL99
Regular expression function SUBSTRING() implemented per SQL99