Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit8baa8fc

Browse files
committed
Some suggestions to clarify the current status of PostgreSQL. Patch
attached.Fred Horch
1 parent1f2c6f4 commit8baa8fc

File tree

1 file changed

+71
-58
lines changed

1 file changed

+71
-58
lines changed

‎doc/src/sgml/history.sgml

Lines changed: 71 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,18 @@
11
<Sect1>
22
<Title>A Short History of <ProductName>Postgres</ProductName></Title>
33

4+
<Para>
5+
The Object-Relational Database Management System now known as
6+
<ProductName>PostgreSQL</ProductName> was originally called
7+
<ProductName>Postgres</ProductName>, and briefly called
8+
<ProductName>Postgres95</ProductName>. With over a decade of
9+
development behind it, <ProductName>PostgreSQL</ProductName>
10+
is the most advanced open-source database available anywhere,
11+
offering multi-version concurrency control and supporting almost
12+
all SQL constructs, including subselects, transactions, and
13+
user-defined types and functions.
14+
</Para>
15+
416
<Sect2>
517
<Title>The Berkeley <ProductName>Postgres</ProductName> Project</Title>
618

@@ -37,8 +49,8 @@ and Version 2 was
3749
Version 3 appeared in 1991 and added support for multiple
3850
storage managers, an improved query executor, and a
3951
rewritten rewrite rule system. For the most part,
40-
releasessince then have focused on portability and
41-
reliability.
52+
releasesuntil <ProductName>Postgres95</ProductName> (see below)
53+
focused on portability andreliability.
4254
</Para>
4355

4456
<Para>
@@ -70,7 +82,7 @@ and Version 2 was
7082
ended with Version 4.2.
7183
</Para>
7284
</Sect2>
73-
85+
7486
<Sect2>
7587
<Title><ProductName>Postgres95</ProductName></Title>
7688

@@ -79,77 +91,75 @@ In 1994,
7991
<ULink url="mailto:ayu@informix.com">Andrew Yu</ULink>
8092
and
8193
<ULink url="http://http.cs.berkeley.edu/~jolly/">Jolly Chen</ULink>
82-
added a SQL language interpreter to <ProductName>Postgres</ProductName>,
83-
and the code was subsequently released to
84-
the Web to find its own way in the world.
85-
<ProductName>Postgres95</ProductName> was a public-domain, open source descendant
86-
of this originalBerkeley code.
94+
added a SQL language interpreter to <ProductName>Postgres</ProductName>.
95+
<ProductName>Postgres95</ProductName> was subsequently released to
96+
the Web to find its own way in the world as a public-domain,
97+
open source descendant of the original<ProductName>Postgres</ProductName>
98+
Berkeley code.
8799
</Para>
88100

89101
<Para>
90-
<ProductName>Postgres95</ProductName> is a derivative of the last official release
91-
of <ProductName>Postgres</ProductName> (version 4.2). The code is now completely
92-
ANSI C and the code size has been trimmed by 25%. There
93-
are a lot of internal changes that improve performance
94-
and code maintainability.
95-
<ProductName>Postgres95</ProductName> v1.0.x runs about 30-50%
96-
faster on the Wisconsin Benchmark compared to v4.2.
97-
Apart from bug fixes, these are the major enhancements:
102+
<ProductName>Postgres95</ProductName> code was completely
103+
ANSI C and trimmed in size by 25%. Many
104+
internal changes improved performance and maintainability.
105+
<ProductName>Postgres95</ProductName> v1.0.x ran about 30-50%
106+
faster on the Wisconsin Benchmark compared to
107+
<ProductName>Postgres</ProductName> v4.2.
108+
Apart from bug fixes, these were the major enhancements:
98109

99110
<ItemizedList>
100111
<ListItem>
101112
<Para>
102-
The query language <ProductName>Postquel</ProductName>has been replaced with
103-
<Acronym>SQL</Acronym> (implemented in the server).We donotyet support
104-
subqueries (which canbe imitated with userdefined
105-
<Acronym>SQL</Acronym> functions). Aggregates have been
106-
re-implemented.We also added supportfor ``GROUP BY''.
107-
The <FileName>libpq</FileName> interfaceis still available for <Acronym>C</Acronym>
113+
The query language <ProductName>Postquel</ProductName>was replaced with
114+
<Acronym>SQL</Acronym> (implemented in the server).Subqueries werenotsupported until <ProductName>PostgreSQL</ProductName> (see below), but they
115+
couldbe imitatedin <ProductName>Postgres95</ProductName>with user-defined
116+
<Acronym>SQL</Acronym> functions. Aggregateswere
117+
re-implemented.Supportfor ``GROUP BY'' was also added.
118+
The <FileName>libpq</FileName> interfaceremained available for <Acronym>C</Acronym>
108119
programs.
109120
</Para>
110121
</ListItem>
111122
<ListItem>
112123
<Para>
113-
In addition to the monitor program, we provide a new
114-
program (<Application>psql</Application>) which supports <Acronym>GNU</Acronym> <FileName>readline</FileName>.
124+
In addition to the monitor program, a new program
125+
(<Application>psql</Application>) was provided for interactive SQL queries
126+
using <Acronym>GNU</Acronym> <FileName>readline</FileName>.
115127
</Para>
116128
</ListItem>
117129
<ListItem>
118130
<Para>
119-
We added anew front-end library, <FileName>libpgtcl</FileName>, that
120-
supports <Acronym>Tcl</Acronym>-based clients. A sample shell,
121-
pgtclsh,provides new Tcl commands to interface <Application>tcl</Application>
131+
Anew front-end library, <FileName>libpgtcl</FileName>,
132+
supported <Acronym>Tcl</Acronym>-based clients. A sample shell,
133+
pgtclsh,provided new Tcl commands to interface <Application>tcl</Application>
122134
programs with the <ProductName>Postgres95</ProductName> backend.
123135
</Para>
124136
</ListItem>
125137
<ListItem>
126138
<Para>
127-
The large object interface has been overhauled. We
128-
kept Inversion large objects as the only mechanism
129-
for storing large objects. (This is not to be
130-
confused with the Inversion file system which has been
131-
removed.)
139+
The large object interface was overhauled. The Inversion large objects were
140+
the only mechanism for storing large objects.
141+
(The Inversion file system was removed.)
132142
</Para>
133143
</ListItem>
134144
<ListItem>
135145
<Para>
136-
The instance-level rule systemhas been removed.
137-
Rulesare still available as rewrite rules.
146+
The instance-level rule systemwas removed.
147+
Ruleswere still available as rewrite rules.
138148
</Para>
139149
</ListItem>
140150
<ListItem>
141151
<Para>
142152
A short tutorial introducing regular <Acronym>SQL</Acronym> features as
143-
well as those ofours is distributed with the source
144-
code.
153+
well as those of<ProductName>Postgres95</ProductName> was
154+
distributed with the sourcecode.
145155
</Para>
146156
</ListItem>
147157
<ListItem>
148158
<Para>
149-
<Acronym>GNU</Acronym> make (instead of <Acronym>BSD</Acronym> make)is used for the
150-
build. Also, <ProductName>Postgres95</ProductName>can be compiled with an
151-
unpatched <ProductName>gcc</ProductName> (data alignment of doubles has been
152-
fixed).
159+
<Acronym>GNU</Acronym> make (instead of <Acronym>BSD</Acronym> make)was used
160+
for thebuild. Also, <ProductName>Postgres95</ProductName>could be
161+
compiled with anunpatched <ProductName>gcc</ProductName>
162+
(data alignment of doubles wasfixed).
153163
</Para>
154164
</ListItem>
155165
</ItemizedList>
@@ -160,36 +170,39 @@ and code maintainability.
160170
<Title><ProductName>PostgreSQL</ProductName></Title>
161171

162172
<Para>
163-
By 1996, it became clear that the name <Quote>Postgres95</Quote> would not stand
164-
the test of time. A new name, <ProductName>PostgreSQL</ProductName>,
165-
was chosen to reflect the
166-
relationship between original <ProductName>Postgres</ProductName>
167-
and the more recent
168-
versions with <Acronym>SQL</Acronym> capability.
169-
At the same time, the version numbering
170-
was reset to start at 6.0,
171-
putting the numbers back into the sequence originally begun by
172-
the <ProductName>Postgres</ProductName> Project.
173+
By 1996, it became clear that the name <Quote>Postgres95</Quote> would
174+
not stand the test of time. We chose a new name,
175+
<ProductName>PostgreSQL</ProductName>, to reflect the relationship
176+
between the original <ProductName>Postgres</ProductName> and the more
177+
recent versions with <Acronym>SQL</Acronym> capability. At the same
178+
time, we set the version numbering to start at 6.0, putting the
179+
numbers back into the sequence originally begun by the
180+
<ProductName>Postgres</ProductName> Project.
173181
</Para>
174182

175183
<Para>
176-
The emphasis on development for the v1.0.x releases of
177-
<ProductName>Postgres95</ProductName>
178-
was on stabilizing the backend code.
179-
With the v6.x series of <ProductName>PostgreSQL</ProductName>,
180-
the emphasis has shifted from
181-
identifying and understanding existing problems in the backend
182-
to augmenting features and capabilities, although
184+
The emphasis during development of <ProductName>Postgres95</ProductName>
185+
was on identifying and understanding existing problems in the backend code.
186+
With <ProductName>PostgreSQL</ProductName>,
187+
the emphasis has shifted to augmenting features and capabilities, although
183188
work continues in all areas.
184189
</Para>
185190

186191
<Para>
187-
Major enhancements include:
192+
Major enhancementsin <ProductName>PostgreSQL</ProductName>include:
188193
</Para>
189194

190195
<ItemizedList>
191196
<ListItem>
192197
<Para>
198+
Table-level locking has been replaced with multi-version concurrency control,
199+
which allows readers to continue reading consistent data during writer activity
200+
and enables hot backups from pg_dump while the database stays available for
201+
queries.
202+
</Para>
203+
</ListItem>
204+
<ListItem>
205+
<Para>
193206
Important backend features, including subselects, defaults,
194207
constraints, and triggers, have been implemented.
195208
</Para>

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp