Apart from
bug fixes, the following were the major enhancements:
<itemizedlist>
<listitem>
<para>
The query language PostQUEL was replaced with
<acronym>SQL</acronym> (implemented in the server). (Interface
library <link linkend="libpq">libpq</link> was named after PostQUEL.)
Subqueries
were not supported until <productname>PostgreSQL</productname>
(see below), but they could be imitated in
<productname>Postgres95</productname> with user-defined
<acronym>SQL</acronym> functions. Aggregate functions were
re-implemented. Support for the <literal>GROUP BY</literal>
query clause was also added.
</para>
</listitem>
<listitem>
<para>
A new program
(<application>psql</application>) was provided for interactive
SQL queries, which used <acronym>GNU</acronym>
<application>Readline</application>. This largely superseded
the old <application>monitor</application> program.
</para>
</listitem>
<listitem>
<para>
A new front-end library, <filename>libpgtcl</filename>,
supported <acronym>Tcl</acronym>-based clients. A sample shell,
<command>pgtclsh</command>, provided new Tcl commands to
interface <application>Tcl</application> programs with the
<productname>Postgres95</productname> server.
</para>
</listitem>
<listitem>
<para>
The large-object interface was overhauled. The inversion large
objects were the only mechanism for storing large objects. (The
inversion file system was removed.)
</para>
</listitem>
<listitem>
<para>
The instance-level rule system was removed. Rules were still
available as rewrite rules.
</para>
</listitem>
<listitem>
<para>
A short tutorial introducing regular <acronym>SQL</acronym>
features as well as those of
<productname>Postgres95</productname> was distributed with the
source code
</para>
</listitem>
<listitem>
<para>
<acronym>GNU</acronym> make (instead of <acronym>BSD</acronym>
make) was used for the build. Also,
<productname>Postgres95</productname> could be compiled with an
unpatched <productname>GCC</productname> (data alignment of
doubles was fixed).
</para>
</listitem>
</itemizedlist>
</para>
</sect2>
<sect2 id="history-postgresql">
<title><productname>PostgreSQL</productname></title>
<para>
By 1996, it became clear that the name <quote>Postgres95</quote>
would not stand the test of time. We chose a new name,
<productname>PostgreSQL</productname>, to reflect the relationship
between the original <productname>POSTGRES</productname> and the
more recent versions with <acronym>SQL</acronym> 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
Berkeley <productname>POSTGRES</productname> project.
</para>
<para>
<productname>Postgres</productname> is still considered an official
project name, both because of tradition and because people find it
easier to pronounce <productname>Postgres</productname> than
<productname>PostgreSQL</productname>.
</para>
<para>
The emphasis during development of
<productname>Postgres95</productname> was on identifying and
understanding existing problems in the server code. With
<productname>PostgreSQL</productname>, the emphasis has shifted to
augmenting features and capabilities, although work continues in
all areas.
</para>
<para>
Details about what has happened in
each <productname>PostgreSQL</productname> release since then
can be found at
<ulink url="https://www.postgresql.org/docs/release/">https://www.postgresql.org/docs/release/</ulink>.
</para>
</sect2>
</sect1>