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 (pgsql-docs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-docs

Reply via email to