WARNING

This text was automatically converted from troff me macros to HTML. Information may have been lost, added, or changed in the process. Lars Aronsson and Lysator do not guarantee the correctness of this HTML document.

"SECTION 1 *- INTRODUCTION"

OVERVIEW

This document is the reference for the POSTGRES database system under development at the University of California, Berkeley. It is intended to be a supplement to the POSTGRES Manual, which is included in this distribution. The POSTGRES project, led by Professor Michael Stonebraker is sponsored by the Defense Advanced Research Projects Agency ( DARPA ), the Army Research Office (ARO), the National Science Foundation (NSF), and ESL , Inc.

POSTGRES is distributed in source code format and is the property of the Regents of the University of California. However, the University will grant unlimited commercialization rights for any derived work on the condition that it obtain an educational license to the derived work. For further information, consult the Berkeley Campus Software Office, 295 Evans Hall, University of California, Berkeley, CA 94720. Moreover, there is no organization who can help you with any bugs you may encounter or with any other problems. In other words, this is unsupported software.

POSTGRES DISTRIBUTION

This reference describes Version 4.0 of POSTGRES. The POSTGRES software is about 200,000 lines of C code, and is available for SUN 4 class machines, for DECstation 3100 and 5000 machines and for the SEQUENT Symmetry machine. Information on obtaining the source code for these computers is available from:

Chandra Ghosh
Computer Science Division
521 Evans Hall
University of Califiornia
Berkeley, CA 94720
(510) 642-4662

Version 4.0 has been tuned modestly. Hence on the Wisconsin benchmark, one should expect performance about twice that of the public domain, University of California Version of INGRES, a relational prototype from the late 1970s.

POSTGRES DOCUMENTATION

This reference describes the functionality of Version 4.0 and contains notations where appropriate to indicate which features are not implemented in Version 4.0. Application developers should note that this reference contains only the specification for the low-level call-oriented application program interface, LIBPQ.

The remainder of this reference is structured as follows. In Section 2 (UNIX), we discuss the POSTGRES capabilities that are available directly from the operating system. Section 3 (BUILT-INS) describes POSTGRES internal data types, functions, and operators. Section 4 (COMMANDS) then describes POSTQUEL, the language by which a user interacts with a POSTGRES database. Then, Section 5 (LIBPQ) describes a library of low level routines through which a user can formulate POSTQUEL queries from a C program and get appropriate return information back to his program. Next, Section 6 (FAST PATH) continues with a description of a method by which applications may execute functions in POSTGRES with very high performance. Section 7 (LARGE OBJECTS) describes the internal POSTGRES interface for accessing large objects. The reference concludes with Section 8 (FILES), a collection of file format descriptions for files used by POSTGRES.

ACKNOWLEDGEMENTS

POSTGRES has been constructed by a team of undergraduate, graduate, and staff programmers. The contributors (in alphabetical order) consisted of James Bell, Jennifer Caetta, Jolly Chen, Ron Choi, Jeffrey Goh, Joey Hellerstein, Wei Hong, Anant Jhingran, Greg Kemnitz, Case Larsen Jeff Meredith, Michael Olson, Lay-Peng Ong, Spyros Potamianos, Sunita Sarawagi, and Cimarron Taylor.

For Version 4.0, Jeff Meredith served as chief programmer and was responsible for overall coordination of the project and for individually implementing the "everything else" portion of the system.

This reference was collectively written by the above implementation team, assisted by Michael Stonebraker, Chandra Ghosh and Claire Mosher.

FOOTNOTES

UNIX is a trademark of AT&T .