Hi folks,
I'm trying to build the docs (at commit 9c75e1), but getting back a spew of
errors from `jade` (attached), which I'm having a hard time deciphering. I
did a clone from https://github.com/postgres/postgres and ran these
commands:
$ ./configure
$ cd doc/src/sgml
$ make html
<output attached>
Information about the system:
$ uname -a
Linux ubuntu-14 3.19.0-25-generic #26~14.04.1-Ubuntu SMP Fri Jul 24
21:16:20 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
$ jade -v
jade:I: Jade version "1.2.1"
jade:I: SP version "1.3.4"
jade:<OSFD>0:1:0:E: end of document in prolog
jade:E: no DSSSL specification: use -d to specify
$ make --version
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
This program built for x86_64-pc-linux-gnu
--
Did I miss anything obvious? Thanks.
{ \
echo "<!ENTITY version \"9.6devel\">"; \
echo "<!ENTITY majorversion \"9.6\">"; \
} > version.sgml
'/usr/bin/perl' ./mk_feature_tables.pl YES
../../../src/backend/catalog/sql_feature_packages.txt
../../../src/backend/catalog/sql_features.txt > features-supported.sgml
'/usr/bin/perl' ./mk_feature_tables.pl NO
../../../src/backend/catalog/sql_feature_packages.txt
../../../src/backend/catalog/sql_features.txt > features-unsupported.sgml
'/usr/bin/perl' ./generate-errcodes-table.pl
../../../src/backend/utils/errcodes.txt > errcodes-table.sgml
jade -wall -wno-unused-param -wno-empty -wfully-tagged -D . -D . -d
stylesheet.dsl -t sgml -i output-html -V html-index postgres.sgml
jade:E: unknown warning type "fully-tagged"
jade:postgres.sgml:3:55:W: cannot generate system identifier for public text
"-//OASIS//DTD DocBook V4.2//EN"
jade:postgres.sgml:12:0:E: reference to entity "BOOK" for which no system
identifier could be generated
jade:postgres.sgml:3:0: entity was defined here
jade:postgres.sgml:12:0:E: DTD did not contain element declaration for document
type name
jade:postgres.sgml:14:9:E: there is no attribute "ID"
jade:postgres.sgml:14:19:E: element "BOOK" undefined
jade:postgres.sgml:15:7:E: element "TITLE" undefined
jade:postgres.sgml:17:10:E: element "BOOKINFO" undefined
jade:postgres.sgml:18:13:E: element "CORPAUTHOR" undefined
jade:postgres.sgml:19:14:E: element "PRODUCTNAME" undefined
jade:postgres.sgml:20:16:E: element "PRODUCTNUMBER" undefined
jade:legal.sgml:3:5:E: element "DATE" undefined
jade:legal.sgml:5:10:E: element "COPYRIGHT" undefined
jade:legal.sgml:6:6:E: element "YEAR" undefined
jade:legal.sgml:7:8:E: element "HOLDER" undefined
jade:legal.sgml:10:16:E: there is no attribute "ID"
jade:legal.sgml:10:29:E: element "LEGALNOTICE" undefined
jade:legal.sgml:11:7:E: element "TITLE" undefined
jade:legal.sgml:13:6:E: element "PARA" undefined
jade:legal.sgml:14:14:E: element "PRODUCTNAME" undefined
jade:legal.sgml:14:54:E: general entity "copy" not defined and no default entity
jade:legal.sgml:18:6:E: element "PARA" undefined
jade:legal.sgml:19:14:E: element "PRODUCTNAME" undefined
jade:legal.sgml:23:6:E: element "PARA" undefined
jade:legal.sgml:31:6:E: element "PARA" undefined
jade:legal.sgml:39:6:E: element "PARA" undefined
jade:legal.sgml:43:36:E: element "QUOTE" undefined
jade:intro.sgml:3:12:E: there is no attribute "ID"
jade:intro.sgml:3:21:E: element "PREFACE" undefined
jade:intro.sgml:4:7:E: element "TITLE" undefined
jade:intro.sgml:6:6:E: element "PARA" undefined
jade:intro.sgml:8:14:E: element "PRODUCTNAME" undefined
jade:intro.sgml:9:14:E: element "PRODUCTNAME" undefined
jade:intro.sgml:11:14:E: element "PRODUCTNAME" undefined
jade:intro.sgml:13:14:E: element "PRODUCTNAME" undefined
jade:intro.sgml:16:6:E: element "PARA" undefined
jade:intro.sgml:18:14:E: element "PRODUCTNAME" undefined
jade:intro.sgml:21:14:E: element "PRODUCTNAME" undefined
jade:intro.sgml:23:15:E: element "ITEMIZEDLIST" undefined
jade:intro.sgml:24:12:E: element "LISTITEM" undefined
jade:intro.sgml:25:9:E: element "PARA" undefined
jade:intro.sgml:26:19:E: there is no attribute "LINKEND"
jade:intro.sgml:26:29:E: element "XREF" undefined
jade:intro.sgml:27:10:E: end tag for "XREF" omitted, but its declaration does
not permit this
jade:intro.sgml:26:5: start tag was here
jade:intro.sgml:30:12:E: element "LISTITEM" undefined
jade:intro.sgml:31:9:E: element "PARA" undefined
jade:intro.sgml:32:24:E: element "XREF" undefined
jade:intro.sgml:32:48:E: element "ACRONYM" undefined
jade:intro.sgml:35:17:E: element "PRODUCTNAME" undefined
jade:intro.sgml:36:10:E: end tag for "XREF" omitted, but its declaration does
not permit this
jade:intro.sgml:32:5: start tag was here
jade:intro.sgml:39:12:E: element "LISTITEM" undefined
jade:intro.sgml:40:9:E: element "PARA" undefined
jade:intro.sgml:41:26:E: element "XREF" undefined
jade:intro.sgml:43:17:E: element "PRODUCTNAME" undefined
jade:intro.sgml:45:10:E: end tag for "XREF" omitted, but its declaration does
not permit this
jade:intro.sgml:41:5: start tag was here
jade:intro.sgml:48:12:E: element "LISTITEM" undefined
jade:intro.sgml:49:9:E: element "PARA" undefined
jade:intro.sgml:50:38:E: element "XREF" undefined
jade:intro.sgml:51:32:E: element "PRODUCTNAME" undefined
jade:intro.sgml:53:10:E: end tag for "XREF" omitted, but its declaration does
not permit this
jade:intro.sgml:50:5: start tag was here
jade:intro.sgml:57:12:E: element "LISTITEM" undefined
jade:intro.sgml:58:9:E: element "PARA" undefined
jade:intro.sgml:59:39:E: element "XREF" undefined
jade:intro.sgml:63:10:E: end tag for "XREF" omitted, but its declaration does
not permit this
jade:intro.sgml:59:5: start tag was here
jade:intro.sgml:66:12:E: element "LISTITEM" undefined
jade:intro.sgml:67:9:E: element "PARA" undefined
jade:intro.sgml:68:30:E: element "XREF" undefined
jade:intro.sgml:72:10:E: end tag for "XREF" omitted, but its declaration does
not permit this
jade:intro.sgml:68:5: start tag was here
jade:intro.sgml:75:12:E: element "LISTITEM" undefined
jade:intro.sgml:76:9:E: element "PARA" undefined
jade:intro.sgml:77:30:E: element "XREF" undefined
jade:intro.sgml:78:24:E: element "PRODUCTNAME" undefined
jade:intro.sgml:79:10:E: end tag for "XREF" omitted, but its declaration does
not permit this
jade:intro.sgml:77:5: start tag was here
jade:intro.sgml:84:11:E: there is no attribute "ID"
jade:intro.sgml:84:25:E: element "SECT1" undefined
jade:intro.sgml:85:8:E: element "TITLE" undefined
jade:intro.sgml:85:30:E: element "PRODUCTNAME" undefined
jade:intro.sgml:87:7:E: element "PARA" undefined
jade:intro.sgml:88:15:E: element "PRODUCTNAME" undefined
jade:intro.sgml:89:39:E: element "ACRONYM" undefined
jade:intro.sgml:90:14:E: there is no attribute "URL"
jade:intro.sgml:90:55:E: element "ULINK" undefined
jade:intro.sgml:91:15:E: element "PRODUCTNAME" undefined
jade:intro.sgml:97:7:E: element "PARA" undefined
jade:intro.sgml:98:15:E: element "PRODUCTNAME" undefined
jade:intro.sgml:102:25:E: there is no attribute "SPACING"
jade:intro.sgml:102:34:E: element "ITEMIZEDLIST" undefined
jade:intro.sgml:103:13:E: element "LISTITEM" undefined
jade:intro.sgml:104:13:E: element "SIMPARA" undefined
jade:intro.sgml:106:13:E: element "LISTITEM" undefined
jade:intro.sgml:107:13:E: element "SIMPARA" undefined
jade:intro.sgml:109:13:E: element "LISTITEM" undefined
jade:intro.sgml:110:13:E: element "SIMPARA" undefined
jade:intro.sgml:112:13:E: element "LISTITEM" undefined
jade:intro.sgml:113:13:E: element "SIMPARA" undefined
jade:intro.sgml:115:13:E: element "LISTITEM" undefined
jade:intro.sgml:116:13:E: element "SIMPARA" undefined
jade:intro.sgml:118:13:E: element "LISTITEM" undefined
jade:intro.sgml:119:13:E: element "SIMPARA" undefined
jade:intro.sgml:123:21:E: element "PRODUCTNAME" undefined
jade:intro.sgml:126:34:E: element "ITEMIZEDLIST" undefined
jade:intro.sgml:127:13:E: element "LISTITEM" undefined
jade:intro.sgml:128:13:E: element "SIMPARA" undefined
jade:intro.sgml:130:13:E: element "LISTITEM" undefined
jade:intro.sgml:131:13:E: element "SIMPARA" undefined
jade:intro.sgml:133:13:E: element "LISTITEM" undefined
jade:intro.sgml:134:13:E: element "SIMPARA" undefined
jade:intro.sgml:136:13:E: element "LISTITEM" undefined
jade:intro.sgml:137:13:E: element "SIMPARA" undefined
jade:intro.sgml:139:13:E: element "LISTITEM" undefined
jade:intro.sgml:140:13:E: element "SIMPARA" undefined
jade:intro.sgml:142:13:E: element "LISTITEM" undefined
jade:intro.sgml:143:13:E: element "SIMPARA" undefined
jade:intro.sgml:148:7:E: element "PARA" undefined
jade:intro.sgml:150:15:E: element "PRODUCTNAME" undefined
jade:history.sgml:3:19:E: element "SECT1" undefined
jade:history.sgml:4:7:E: element "TITLE" undefined
jade:history.sgml:4:39:E: element "PRODUCTNAME" undefined
jade:history.sgml:6:17:E: there is no attribute "ZONE"
jade:history.sgml:6:26:E: element "INDEXTERM" undefined
jade:history.sgml:7:10:E: element "PRIMARY" undefined
jade:history.sgml:8:12:E: element "SECONDARY" undefined
jade:history.sgml:11:6:E: element "PARA" undefined
jade:history.sgml:13:14:E: element "PRODUCTNAME" undefined
jade:history.sgml:14:14:E: element "PRODUCTNAME" undefined
jade:history.sgml:16:37:E: element "PRODUCTNAME" undefined
jade:history.sgml:20:11:E: there is no attribute "ID"
jade:history.sgml:20:29:E: element "SECT2" undefined
jade:history.sgml:21:8:E: element "TITLE" undefined
jade:history.sgml:21:34:E: element "PRODUCTNAME" undefined
jade:history.sgml:23:36:E: element "INDEXTERM" undefined
jade:history.sgml:24:11:E: element "PRIMARY" undefined
jade:history.sgml:27:7:E: element "PARA" undefined
jade:history.sgml:28:19:E: element "PRODUCTNAME" undefined
jade:history.sgml:30:28:E: element "ACRONYM" undefined
jade:history.sgml:31:19:E: element "ACRONYM" undefined
jade:history.sgml:32:12:E: element "ACRONYM" undefined
jade:history.sgml:33:15:E: element "PRODUCTNAME" undefined
jade:history.sgml:34:67:E: element "XREF" undefined
jade:history.sgml:36:19:E: element "XREF" undefined
jade:history.sgml:37:39:E: element "XREF" undefined
jade:history.sgml:39:20:E: element "XREF" undefined
jade:history.sgml:40:8:E: end tag for "XREF" omitted, but its declaration does
not permit this
jade:history.sgml:38:56: start tag was here
jade:history.sgml:40:8:E: end tag for "XREF" omitted, but its declaration does
not permit this
jade:history.sgml:37:16: start tag was here
jade:history.sgml:40:8:E: end tag for "XREF" omitted, but its declaration does
not permit this
jade:history.sgml:35:60: start tag was here
jade:history.sgml:40:8:E: end tag for "XREF" omitted, but its declaration does
not permit this
jade:history.sgml:34:45: start tag was here
jade:history.sgml:42:7:E: element "PARA" undefined
jade:history.sgml:43:15:E: element "PRODUCTNAME" undefined
jade:history.sgml:44:41:E: element "QUOTE" undefined
jade:history.sgml:46:11:E: element "ACRONYM" undefined
jade:history.sgml:47:26:E: element "XREF" undefined
jade:history.sgml:49:26:E: element "XREF" undefined
jade:history.sgml:50:20:E: element "XREF" undefined
jade:history.sgml:54:21:E: element "PRODUCTNAME" undefined
jade:history.sgml:56:8:E: end tag for "XREF" omitted, but its declaration does
not permit this
jade:history.sgml:49:62: start tag was here
jade:history.sgml:56:8:E: end tag for "XREF" omitted, but its declaration does
not permit this
jade:history.sgml:49:4: start tag was here
jade:history.sgml:56:8:E: end tag for "XREF" omitted, but its declaration does
not permit this
jade:history.sgml:47:3: start tag was here
jade:history.sgml:58:7:E: element "PARA" undefined
jade:history.sgml:59:15:E: element "PRODUCTNAME" undefined
jade:history.sgml:64:15:E: element "PRODUCTNAME" undefined
jade:history.sgml:67:40:E: element "ULINK" undefined
jade:history.sgml:67:53:E: element "PRODUCTNAME" undefined
jade:history.sgml:69:28:E: element "ULINK" undefined
jade:history.sgml:71:15:E: element "PRODUCTNAME" undefined
jade:history.sgml:73:57:E: element "ULINK" undefined
jade:history.sgml:77:7:E: element "PARA" undefined
jade:history.sgml:83:15:E: element "PRODUCTNAME" undefined
jade:history.sgml:88:31:E: element "SECT2" undefined
jade:history.sgml:89:8:E: element "TITLE" undefined
jade:history.sgml:89:21:E: element "PRODUCTNAME" undefined
jade:history.sgml:91:38:E: element "INDEXTERM" undefined
jade:history.sgml:92:11:E: element "PRIMARY" undefined
jade:history.sgml:95:7:E: element "PARA" undefined
jade:history.sgml:97:18:E: element "PRODUCTNAME" undefined
jade:history.sgml:98:15:E: element "PRODUCTNAME" undefined
jade:history.sgml:100:42:E: element "PRODUCTNAME" undefined
jade:history.sgml:104:7:E: element "PARA" undefined
jade:history.sgml:105:15:E: element "PRODUCTNAME" undefined
jade:history.sgml:108:32:E: element "PRODUCTNAME" undefined
jade:history.sgml:110:18:E: element "PRODUCTNAME" undefined
jade:history.sgml:113:16:E: element "ITEMIZEDLIST" undefined
jade:history.sgml:114:13:E: element "LISTITEM" undefined
jade:history.sgml:115:10:E: element "PARA" undefined
jade:history.sgml:117:14:E: element "ACRONYM" undefined
jade:history.sgml:118:28:E: there is no attribute "LINKEND"
jade:history.sgml:118:35:E: element "LINK" undefined
jade:history.sgml:120:43:E: element "PRODUCTNAME" undefined
jade:history.sgml:122:18:E: element "PRODUCTNAME" undefined
jade:history.sgml:123:14:E: element "ACRONYM" undefined
jade:history.sgml:124:47:E: element "LITERAL" undefined
jade:history.sgml:129:13:E: element "LISTITEM" undefined
jade:history.sgml:130:10:E: element "PARA" undefined
jade:history.sgml:132:19:E: element "APPLICATION" undefined
jade:history.sgml:133:38:E: element "ACRONYM" undefined
jade:history.sgml:134:18:E: element "APPLICATION" undefined
jade:history.sgml:135:26:E: element "APPLICATION" undefined
jade:history.sgml:139:13:E: element "LISTITEM" undefined
jade:history.sgml:140:10:E: element "PARA" undefined
jade:history.sgml:141:40:E: element "FILENAME" undefined
jade:history.sgml:142:24:E: element "ACRONYM" undefined
jade:history.sgml:143:14:E: element "COMMAND" undefined
jade:history.sgml:144:28:E: element "APPLICATION" undefined
jade:I: maximum number of errors (200) reached; change with -E option
jade:stylesheet.dsl:10:91:W: cannot generate system identifier for public text
"-//Norman Walsh//DOCUMENT DocBook HTML Stylesheet//EN"
jade:stylesheet.dsl:24:27:E: no style-specification or external-specification
with ID "DOCBOOK"
jade:stylesheet.dsl:205:10:E: mode "manifest" not defined
jade:stylesheet.dsl:207:8:E: mode "htmlindex" not defined
jade:stylesheet.dsl:372:5:E: reference to undefined variable "html-document"
jade:stylesheet.dsl:375:6:E: "element" is not the name of any flow object class
jade:stylesheet.dsl:388:16:E: "element" is not the name of any flow object class
jade:stylesheet.dsl:381:16:E: "element" is not the name of any flow object class
jade:stylesheet.dsl:378:12:E: reference to undefined variable
"$component-title$"
jade:stylesheet.dsl:377:12:E: reference to undefined variable
"$component-separator$"
jade:stylesheet.dsl:373:6:E: mode "head-title-mode" not defined
jade:stylesheet.dsl:374:17:E: reference to undefined variable
"element-title-string"
jade:stylesheet.dsl:369:19:E: reference to undefined variable
"node-list-filter-by-gi"
jade:stylesheet.dsl:371:26:E: reference to undefined variable "normalize"
jade:stylesheet.dsl:366:21:E: reference to undefined variable
"node-list-filter-by-gi"
jade:stylesheet.dsl:368:28:E: reference to undefined variable "normalize"
jade:stylesheet.dsl:363:19:E: reference to undefined variable
"node-list-filter-by-not-gi"
jade:stylesheet.dsl:365:26:E: reference to undefined variable "normalize"
jade:stylesheet.dsl:270:9:E: "empty-element" is not the name of any flow object
class
jade:stylesheet.dsl:258:5:E: reference to undefined variable "para-check"
jade:stylesheet.dsl:257:5:E: reference to undefined variable "$admonition$"
jade:stylesheet.dsl:256:5:E: reference to undefined variable "para-check"
jade:stylesheet.dsl:74:9:E: reference to undefined variable "$charseq$"
jade:stylesheet.dsl:79:17:E: reference to undefined variable
"%arg-choice-opt-close-str%"
jade:stylesheet.dsl:78:9:E: reference to undefined variable "$charseq$"
jade:stylesheet.dsl:77:17:E: reference to undefined variable
"%arg-choice-opt-open-str%"
jade:stylesheet.dsl:71:33:E: reference to undefined variable "normalize"
jade:stylesheet.dsl:67:36:E: reference to undefined variable "$bold-seq$"
jade:stylesheet.dsl:66:18:E: reference to undefined variable "$mono-seq$"
jade:stylesheet.dsl:65:15:E: reference to undefined variable "$mono-seq$"
jade:stylesheet.dsl:64:16:E: reference to undefined variable "$mono-seq$"
jade:stylesheet.dsl:63:17:E: reference to undefined variable "$mono-seq$"
jade:stylesheet.dsl:62:21:E: reference to undefined variable "$mono-seq$"
jade:stylesheet.dsl:61:22:E: reference to undefined variable "$mono-seq$"
jade:stylesheet.dsl:60:20:E: reference to undefined variable "$mono-seq$"
jade:stylesheet.dsl:59:17:E: reference to undefined variable "$mono-seq$"
jade:stylesheet.dsl:58:18:E: reference to undefined variable "$mono-seq$"
jade:stylesheet.dsl:57:25:E: reference to undefined variable "$italic-seq$"
jade:stylesheet.dsl:56:16:E: reference to undefined variable "$mono-seq$"
jade:stylesheet.dsl:55:18:E: reference to undefined variable "$mono-seq$"
jade:stylesheet.dsl:156:31:E: reference to undefined variable "$charseq$"
jade:stylesheet.dsl:158:31:E: reference to undefined variable "$charseq$"
jade:stylesheet.dsl:395:7:E: "element" is not the name of any flow object class
jade:stylesheet.dsl:397:13:E: reference to undefined variable
"element-title-sosofo"
PostgreSQL 9.6devel Documentation
The PostgreSQL Global Development Group
PostgreSQL
9.6devel
2016
1996-2016
The PostgreSQL Global Development Group
Legal Notice
PostgreSQL is Copyright 1996-2016
by the PostgreSQL Global Development Group.
Postgres95 is Copyright 1994-5
by the Regents of the University of California.
Permission to use, copy, modify, and distribute this software and
its documentation for any purpose, without fee, and without a
written agreement is hereby granted, provided that the above
copyright notice and this paragraph and the following two paragraphs
appear in all copies.
IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY
PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS
SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA
HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
PROVIDED HEREUNDER IS ON AN AS-IS BASIS, AND THE UNIVERSITY OF
CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
Preface
This book is the official documentation of
PostgreSQL. It has been written by the
PostgreSQL developers and other
volunteers in parallel to the development of the
PostgreSQL software. It describes all
the functionality that the current version of
PostgreSQL officially supports.
To make the large amount of information about
PostgreSQL manageable, this book has been
organized in several parts. Each part is targeted at a different
class of users, or at users in different stages of their
PostgreSQL experience:
is an informal introduction for new users.
documents the SQL query
language environment, including data types and functions, as well
as user-level performance tuning. Every
PostgreSQL user should read this.
describes the installation and
administration of the server. Everyone who runs a
PostgreSQL server, be it for private
use or for others, should read this part.
describes the programming
interfaces for PostgreSQL client
programs.
contains information for
advanced users about the extensibility capabilities of the
server. Topics include user-defined data types and
functions.
contains reference information about
SQL commands, client and server programs. This part supports
the other parts with structured information sorted by command or
program.
contains assorted information that might be of
use to PostgreSQL developers.
What is PostgreSQL?
PostgreSQL is an object-relational
database management system (ORDBMS) based on
POSTGRES, Version 4.2,
developed at the University of California at Berkeley Computer Science
Department. POSTGRES pioneered many concepts that only became
available in some commercial database systems much later.
PostgreSQL is an open-source descendant
of this original Berkeley code. It supports a large part of the SQL
standard and offers many modern features:
complex queries
foreign keys
triggers
updatable views
transactional integrity
multiversion concurrency control
Also, PostgreSQL can be extended by the
user in many ways, for example by adding new
data types
functions
operators
aggregate functions
index methods
procedural languages
And because of the liberal license,
PostgreSQL can be used, modified, and
distributed by anyone free of charge for any purpose, be it
private, commercial, or academic.
A Brief History of PostgreSQL
history
of PostgreSQL
The object-relational database management system now known as
PostgreSQL is derived from the
POSTGRES package written at the
University of California at Berkeley. With over two decades of
development behind it, PostgreSQL is now
the most advanced open-source database available anywhere.
The Berkeley POSTGRES Project
POSTGRES
The POSTGRES project, led by Professor
Michael Stonebraker, was sponsored by the Defense Advanced Research
Projects Agency (DARPA), the Army Research
Office (ARO), the National Science Foundation
(NSF), and ESL, Inc. The implementation of
POSTGRES began in 1986. The initial
concepts for the system were presented in ,
and the definition of the initial data model appeared in . The design of
the rule system at that time was
described in . The rationale and
architecture of the storage manager were detailed in .
POSTGRES has undergone several major
releases since then. The first demoware system
became operational in 1987 and was shown at the 1988
ACM-SIGMOD Conference. Version 1, described in
, was released to a few external users in
June 1989. In response to a critique of the first rule system
(), the rule system was redesigned (), and Version 2 was released in June
1990 with
the new rule system. Version 3 appeared in 1991 and added support
for multiple storage managers, an improved query executor, and a
rewritten rule system. For the most part, subsequent releases
until Postgres95 (see below) focused on
portability and reliability.
POSTGRES has been used to implement many
different research and production applications. These include: a
financial data analysis system, a jet engine performance monitoring
package, an asteroid tracking database, a medical information
database, and several geographic information systems.
POSTGRES has also been used as an
educational tool at several universities. Finally, Illustra
Information Technologies (later merged into
Informix,
which is now owned by IBM) picked up the code and
commercialized it. In late 1992,
POSTGRES became the primary data manager
for the
Sequoia 2000 scientific computing project.
The size of the external user community nearly doubled during 1993.
It became increasingly obvious that maintenance of the prototype
code and support was taking up large amounts of time that should
have been devoted to database research. In an effort to reduce
this support burden, the Berkeley
POSTGRES project officially ended with
Version 4.2.
Postgres95
Postgres95
In 1994, Andrew Yu and Jolly Chen added an SQL language interpreter
to POSTGRES. Under a new name,
Postgres95 was subsequently released to
the web to find its own way in the world as an open-source
descendant of the original POSTGRES
Berkeley code.
Postgres95 code was completely ANSI C
and trimmed in size by 25%. Many internal changes improved
performance and
maintainability. Postgres95 release
1.0.x ran about 30-50% faster on the Wisconsin Benchmark compared
to POSTGRES, Version 4.2. Apart from
bug fixes, the following were the major enhancements:
The query language PostQUEL was replaced with
SQL (implemented in the server). (Interface
library libpq was named after PostQUEL.)
Subqueries
were not supported until PostgreSQL
(see below), but they could be imitated in
Postgres95 with user-defined
SQL functions. Aggregate functions were
re-implemented. Support for the
query clause was also added.
A new program
(psql) was provided for interactive
SQL queries, which used GNU
Readline. This largely superseded
the old monitor program.
A new front-end library, libpgtcl,
supported Tcl-based clients. A sample shell,
, provided new Tcl commands to
interface make: *** [HTML.index] Error 1
--
Sent via pgsql-docs mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-docs