Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
Postgres FD Implementation
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Abuhujair Javed
Postgres FD Implementation
Commits
8baa8fcf
Commit
8baa8fcf
authored
Jun 21, 1999
by
Bruce Momjian
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Some suggestions to clarify the current status of PostgreSQL. Patch
attached. Fred Horch
parent
1f2c6f4f
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
71 additions
and
58 deletions
+71
-58
doc/src/sgml/history.sgml
doc/src/sgml/history.sgml
+71
-58
No files found.
doc/src/sgml/history.sgml
View file @
8baa8fcf
<Sect1>
<Sect1>
<Title>A Short History of <ProductName>Postgres</ProductName></Title>
<Title>A Short History of <ProductName>Postgres</ProductName></Title>
<Para>
The Object-Relational Database Management System now known as
<ProductName>PostgreSQL</ProductName> was originally called
<ProductName>Postgres</ProductName>, and briefly called
<ProductName>Postgres95</ProductName>. With over a decade of
development behind it, <ProductName>PostgreSQL</ProductName>
is the most advanced open-source database available anywhere,
offering multi-version concurrency control and supporting almost
all SQL constructs, including subselects, transactions, and
user-defined types and functions.
</Para>
<Sect2>
<Sect2>
<Title>The Berkeley <ProductName>Postgres</ProductName> Project</Title>
<Title>The Berkeley <ProductName>Postgres</ProductName> Project</Title>
...
@@ -37,8 +49,8 @@ and Version 2 was
...
@@ -37,8 +49,8 @@ and Version 2 was
Version 3 appeared in 1991 and added support for multiple
Version 3 appeared in 1991 and added support for multiple
storage managers, an improved query executor, and a
storage managers, an improved query executor, and a
rewritten rewrite rule system. For the most part,
rewritten rewrite rule system. For the most part,
releases
since then have focused on portability and
releases
until <ProductName>Postgres95</ProductName> (see below)
reliability.
focused on portability and
reliability.
</Para>
</Para>
<Para>
<Para>
...
@@ -79,77 +91,75 @@ In 1994,
...
@@ -79,77 +91,75 @@ In 1994,
<ULink url="mailto:ayu@informix.com">Andrew Yu</ULink>
<ULink url="mailto:ayu@informix.com">Andrew Yu</ULink>
and
and
<ULink url="http://http.cs.berkeley.edu/~jolly/">Jolly Chen</ULink>
<ULink url="http://http.cs.berkeley.edu/~jolly/">Jolly Chen</ULink>
added a SQL language interpreter to <ProductName>Postgres</ProductName>
,
added a SQL language interpreter to <ProductName>Postgres</ProductName>
.
and the code
was subsequently released to
<ProductName>Postgres95</ProductName>
was subsequently released to
the Web to find its own way in the world
.
the Web to find its own way in the world
as a public-domain,
<ProductName>Postgres95</ProductName> was a public-domain, open source descendant
open source descendant of the original <ProductName>Postgres</ProductName>
of this original
Berkeley code.
Berkeley code.
</Para>
</Para>
<Para>
<Para>
<ProductName>Postgres95</ProductName> is a derivative of the last official release
<ProductName>Postgres95</ProductName> code was completely
of <ProductName>Postgres</ProductName> (version 4.2). The code is now completely
ANSI C and trimmed in size by 25%. Many
ANSI C and the code size has been trimmed by 25%. There
internal changes improved performance and maintainability.
are a lot of internal changes that improve performance
<ProductName>Postgres95</ProductName> v1.0.x ran about 30-50%
and code maintainability.
faster on the Wisconsin Benchmark compared to
<ProductName>Postgres95</ProductName> v1.0.x runs about 30-50%
<ProductName>Postgres</ProductName> v4.2.
faster on the Wisconsin Benchmark compared to v4.2.
Apart from bug fixes, these were the major enhancements:
Apart from bug fixes, these are the major enhancements:
<ItemizedList>
<ItemizedList>
<ListItem>
<ListItem>
<Para>
<Para>
The query language <ProductName>Postquel</ProductName>
has been
replaced with
The query language <ProductName>Postquel</ProductName>
was
replaced with
<Acronym>SQL</Acronym> (implemented in the server).
We do not yet support
<Acronym>SQL</Acronym> (implemented in the server).
Subqueries were not supported until <ProductName>PostgreSQL</ProductName> (see below), but they
subqueries (which can be imitated with user
defined
could be imitated in <ProductName>Postgres95</ProductName> with user-
defined
<Acronym>SQL</Acronym> functions
). Aggregates have been
<Acronym>SQL</Acronym> functions
. Aggregates were
re-implemented.
We also added support for ``GROUP BY''
.
re-implemented.
Support for ``GROUP BY'' was also added
.
The <FileName>libpq</FileName> interface
is still
available for <Acronym>C</Acronym>
The <FileName>libpq</FileName> interface
remained
available for <Acronym>C</Acronym>
programs.
programs.
</Para>
</Para>
</ListItem>
</ListItem>
<ListItem>
<ListItem>
<Para>
<Para>
In addition to the monitor program, we provide a new
In addition to the monitor program, a new program
program (<Application>psql</Application>) which supports <Acronym>GNU</Acronym> <FileName>readline</FileName>.
(<Application>psql</Application>) was provided for interactive SQL queries
using <Acronym>GNU</Acronym> <FileName>readline</FileName>.
</Para>
</Para>
</ListItem>
</ListItem>
<ListItem>
<ListItem>
<Para>
<Para>
We added a new front-end library, <FileName>libpgtcl</FileName>, that
A new front-end library, <FileName>libpgtcl</FileName>,
support
s
<Acronym>Tcl</Acronym>-based clients. A sample shell,
support
ed
<Acronym>Tcl</Acronym>-based clients. A sample shell,
pgtclsh, provide
s
new Tcl commands to interface <Application>tcl</Application>
pgtclsh, provide
d
new Tcl commands to interface <Application>tcl</Application>
programs with the <ProductName>Postgres95</ProductName> backend.
programs with the <ProductName>Postgres95</ProductName> backend.
</Para>
</Para>
</ListItem>
</ListItem>
<ListItem>
<ListItem>
<Para>
<Para>
The large object interface has been overhauled. We
The large object interface was overhauled. The Inversion large objects were
kept Inversion large objects as the only mechanism
the only mechanism for storing large objects.
for storing large objects. (This is not to be
(The Inversion file system was removed.)
confused with the Inversion file system which has been
removed.)
</Para>
</Para>
</ListItem>
</ListItem>
<ListItem>
<ListItem>
<Para>
<Para>
The instance-level rule system
has been
removed.
The instance-level rule system
was
removed.
Rules
a
re still available as rewrite rules.
Rules
we
re still available as rewrite rules.
</Para>
</Para>
</ListItem>
</ListItem>
<ListItem>
<ListItem>
<Para>
<Para>
A short tutorial introducing regular <Acronym>SQL</Acronym> features as
A short tutorial introducing regular <Acronym>SQL</Acronym> features as
well as those of
ours is distributed with the source
well as those of
<ProductName>Postgres95</ProductName> was
code.
distributed with the source
code.
</Para>
</Para>
</ListItem>
</ListItem>
<ListItem>
<ListItem>
<Para>
<Para>
<Acronym>GNU</Acronym> make (instead of <Acronym>BSD</Acronym> make) is used for the
<Acronym>GNU</Acronym> make (instead of <Acronym>BSD</Acronym> make) was used
build. Also, <ProductName>Postgres95</ProductName> can be compiled with an
for the build. Also, <ProductName>Postgres95</ProductName> could be
unpatched <ProductName>gcc</ProductName> (data alignment of doubles has been
compiled with an unpatched <ProductName>gcc</ProductName>
fixed).
(data alignment of doubles was
fixed).
</Para>
</Para>
</ListItem>
</ListItem>
</ItemizedList>
</ItemizedList>
...
@@ -160,36 +170,39 @@ and code maintainability.
...
@@ -160,36 +170,39 @@ and code maintainability.
<Title><ProductName>PostgreSQL</ProductName></Title>
<Title><ProductName>PostgreSQL</ProductName></Title>
<Para>
<Para>
By 1996, it became clear that the name <Quote>Postgres95</Quote> would not stand
By 1996, it became clear that the name <Quote>Postgres95</Quote> would
the test of time. A new name, <ProductName>PostgreSQL</ProductName>,
not stand the test of time. We chose a new name,
was chosen to reflect the
<ProductName>PostgreSQL</ProductName>, to reflect the relationship
relationship between original <ProductName>Postgres</ProductName>
between the original <ProductName>Postgres</ProductName> and the more
and the more recent
recent versions with <Acronym>SQL</Acronym> capability. At the same
versions with <Acronym>SQL</Acronym> capability.
time, we set the version numbering to start at 6.0, putting the
At the same time, the version numbering
numbers back into the sequence originally begun by the
was reset to start at 6.0,
<ProductName>Postgres</ProductName> Project.
putting the numbers back into the sequence originally begun by
the <ProductName>Postgres</ProductName> Project.
</Para>
</Para>
<Para>
<Para>
The emphasis on development for the v1.0.x releases of
The emphasis during development of <ProductName>Postgres95</ProductName>
<ProductName>Postgres95</ProductName>
was on identifying and understanding existing problems in the backend code.
was on stabilizing the backend code.
With <ProductName>PostgreSQL</ProductName>,
With the v6.x series of <ProductName>PostgreSQL</ProductName>,
the emphasis has shifted to augmenting features and capabilities, although
the emphasis has shifted from
identifying and understanding existing problems in the backend
to augmenting features and capabilities, although
work continues in all areas.
work continues in all areas.
</Para>
</Para>
<Para>
<Para>
Major enhancements include:
Major enhancements in
<ProductName>PostgreSQL</ProductName> in
clude:
</Para>
</Para>
<ItemizedList>
<ItemizedList>
<ListItem>
<ListItem>
<Para>
<Para>
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.
</Para>
</ListItem>
<ListItem>
<Para>
Important backend features, including subselects, defaults,
Important backend features, including subselects, defaults,
constraints, and triggers, have been implemented.
constraints, and triggers, have been implemented.
</Para>
</Para>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment