By 1996, it became clear that the
name "Postgres95" would not stand the test of
time. We chose a new name,
reflect the relationship between the original
the more recent versions with
SQL capability. At
the same time, we set the version numbering to
start at 6.0, putting the numbers back into the
sequence originally begun by the
The emphasis during
Postgres95 was on identifying and
understanding existing problems in the backend
code. With PostgreSQL,
the emphasis has shifted to augmenting features
and capabilities, although work continues in all
Major enhancements in
- Table-level locking has
been replaced with multi-version concurrency
control, which allows readers to continue
reading consistent data during writer activity
and enables hot backups from pg_dump while the
database stays available for queries.
- Important backend features,
including subselects, defaults, constraints,
and triggers, have been implemented.
language features have been added, including
primary keys, quoted identifiers, literal
string type coercion, type casting, and binary
and hexadecimal integer input.
- Built-in types have been
improved, including new wide-range date/time
types and additional geometric type support.
- Overall backend code speed
has been increased by approximately 20-40%,
and backend startup time has decreased 80%
since v6.0 was released.