Frequently Asked Questions about POSTGRES Q. What Is POSTGRES? A. POSTGRES was a database research project directed by Prof. Michael Stonebraker at U. C. Berkeley. To facilitate research efforts, a software test-bed was created; this is the "POSTGRES" DBMS software. The POSTGRES DBMS is extended relational or object oriented, depending on the buzzword du jour. The major purpose of this software is to provide a platform and a basis for the testing of implementations of new ideas in database research. Several graduate students, staff members, as well as undergraduate programmers have contributed to the implementation of the POSTGRES software. After this paragraph, all references to "POSTGRES" refer to the software itself. As of this writing, POSTGRES is no longer an official research effort at U.C. Berkeley. POSTGRES is: o Relational. One of the major goals of POSTGRES was to show that an essentially relational DBMS can be extended to handle complex objects, rules, and be highly extensible. o Highly extensible. POSTGRES allows user-defined operators, types, functions and access methods. o While POSTGRES is relational, object-oriented ideas have been implemented in POSTGRES (inheritance, etc). POSTGRES also has many other features, such as query language procedures, rules, triggers, etc., which are beyond the scope of this discussion. For more info on the POSTGRES research itself, you should get the POSTGRES technical documentation described below. Q. What is the connection between POSTGRES and University Ingres? A. There is none, aside from Prof. Stonebraker. There is no compatibility between the two software packages, and the research projects had differing objectives. We do not support University Ingres at all. Questions about it should be sent to the USENET newsgroup "comp.databases" or "comp.databases.ingres". You can also, in a pinch, try the mailing list: ingres-mail@idiom.berkeley.ca.us Q. How do I get the POSTGRES software package? A. In one of two ways: 1. Via anonymous FTP from the host s2k-ftp.CS.Berkeley.EDU (IP address as of this writing: 128.32.32.79) The directory that contains the relevant files is: pub/postgres/postgres-v4r2 (Note: transmit .Z files in BINARY mode.) 2. If you don't have Internet access, you can get POSTGRES by sending a check for US$150 payable to Regents of the University of California This should be addressed to The POSTGRES Project Attn: Alice Ford 617 Soda Hall #1776 University of California Berkeley, CA 94720-1776 Indicate in your accompanying letter whether you want the system on a 4mm DAT tape or an Exabyte 2GB 8mm tape. We do not distribute POSTGRES in any other format (such as FTPmail). However, you can also get POSTGRES on a variety of "freeware" CDROMs (such as those from PrimeTime Freeware or Yggdrasil Computing). We have nothing to do with the distributors of these CDROMs, and if you are interested in obtaining POSTGRES this way you should contact your local computer bookstore. Do note that, if you can get them, they will cost much less than US$150. Q. What is the POSTGRES query language? A. PostQUEL, which is an incompatible, extended version of QUEL (the Ingres query language). Q. What about SQL support? A. POSTGRES does not support SQL. A commercial version of POSTGRES produced by Illustra Information Technologies, Inc. (see below) does support SQL. Q. What does POSTGRES run on? A. POSTGRES 4.2 is known to run on Sun-4 (SPARC) computers running SunOS 4.1.3 and Solaris 2.3, DECstation 3100 and 5000 (MIPS) computers running Ultrix 4.2 or higher, H-P 9000 Model 700 and 800 (PA-RISC) computers running HP-UX 9.00 or higher, DECstation 3000 (Alpha AXP) running OSF/1 1.3 and 2.0, and IBM RS/6000 (POWER) running AIX 3.2.5 or higher. The experience of outside developers indicates that POSTGRES is relatively easy to port to any system that supports: 1. Berkeley-style sockets 2. System V shared memory and semaphores 3. A K&R-compatible C compiler 4. Other "normal" Unix system calls For example, versions of POSTGRES have been ported to Windows NT. Some header file problems may be encountered; these are easily fixed by a programmer knowledgable with the local OS. Q. How do I get papers about POSTGRES? A. The documents and manpages are available directly in the POSTGRES source. At the top level there are pre-formatted manual pages and a reference manual. There are a number of other documents in the src/doc directory and there is a directory in there that has pre-formatted postscript files. You can order hard-copies of technical reports individually. For more details, send e-mail or call Michelle Mattera at (510) 642-3417; her e-mail address is michelle@postgres.berkeley.edu Q. What is the status of the POSTGRES implementation? A. It is not up to commercial levels of reliability. I would not want _my_ payroll records in it :-) However, it is quite adequate for managing scientific and experimental datasets and as an instructional system. Its speed on applications which stress transaction processing is not particularly good, but it is within about 50% of commercial systems on the more "report-oriented" Wisconsin benchmark, and is twice as fast as University Ingres on the Wisconsin. Q. Does POSTGRES have a user interface? A report generator? An embedded query language interface? A. No, no and no. On the other hand, "pgbrowse," a powerful and extensible graphical user interface based on Tcl/TK, is available from crseo.ucsb.edu (128.111.100.50) in pub/pgbrowse. Q. What about a C-callable interface for writing applications? A. There most definitely is one, called libpq. There is also an interface for referencing POSTGRES data from shell and perl scripts. See the POSTGRES Reference Manual for details. Q. Is there a discussion group about POSTGRES? A. Yes - the mailing list postgres@postgres.berkeley.edu has (as of this writing) over six hundred readers and gateways; you can subscribe to the mailing list by sending mail to postgres-request@postgres.berkeley.edu with "ADD" as the Subject. You UNsubscribe from the mailing list by sending mail to postgres-request@postgres.berkeley.edu with "DEL" as the Subject. Q. How do I make a bug report? A. If you find a bug, send a description of your database schema, queries, and a stack dump (type "where" in DBX) if possible to bug-postgres@postgres.berkeley.edu Q. How do I find out about known bugs? A. The known bug list for version 4.2 does not exist yet, but will be placed in the file pub/postgres/postgres-v4r2/postgres.bugs as soon as we start getting feedback on the release. Q. Please summarize the important files on s2k-ftp.cs.berkeley.edu. A. Please see pub/postgres/postgres-v4r2/README. Q. Please summarize the important POSTGRES mailing aliases. A. Mailing Address Purpose postgres@postgres POSTGRES general discussion and announcements postgres-request@postgres Administrative requests (ADD/DEL) bug-postgres@postgres POSTGRES bug reports postgres-questions@postgres Questions to the developers of POSTGRES (see response to the next question) Q. Please summarize the main contacts at the POSTGRES group. A. Unfortunately, POSTGRES is no longer an active research project at U.C. Berkeley, so there is no longer a POSTGRES group. Some of the developers will probably be staying in touch on the previously mentioned mailing lists, so that is your best bet. Q. Is there a commercial version of POSTGRES? A. Yes. Illustra Information Technologies (formerly Montage Software, Inc.( has performed a substantial amount of bullet-proofing and performance improvement and has added many new features (true log-based crash recovery, an type system that makes sense, SQL support). They also provide technical support. You can contact them at: Illustra Information Technologies, Inc. 1111 Broadway, Suite 2000 Oakland, CA 94607 510-652-8000 510-652-8050 (fax) sales@illustra.com