next up previous contents index
Next: User Client Questions Up: Additional Resources Previous: Frequently Asked Questions (FAQs)

Subsections

General Questions

1.1) What is POSTGRESQL?

POSTGRESQL is an enhancement of the Postgres management system, a next-generation DBMS research prototype. While POSTGRESQL retains the powerful data model and rich data types of Postgres, it replaces the POSTQUEL query language with an extended subset of SQL. POSTGRESQL is free and the complete source is available.

POSTGRESQL development is performed by a team of Internet developers who all subscribe to the POSTGRESQL development mailing list. The current coordinator is Marc G. Fournier (scrappy@PostgreSQL.org). (See below on how to join). This team is now responsible for all development of POSTGRESQL.

The authors of POSTGRESQL 1.01 were Andrew Yu  and Jolly Chen . Many others have contributed to the porting, testing, debugging, and enhancement of the code. The original Postgres code, from which POSTGRESQL is derived, was the effort of many graduate students, undergraduate students, and staff programmers working under the direction of Professor Michael Stonebraker  at the University of California, Berkeley .

The original name of the software at Berkeley was Postgres. When SQL functionality was added in 1995, its name was changed to Postgres95 . The name was changed at the end of 1996 to POSTGRESQL.

It is pronounced Post-Gres-Q-L.

1.2) What's the copyright on POSTGRESQL?

POSTGRESQL is subject to the following COPYRIGHT:

POSTGRESQL Data Base Management System

Portions copyright (c) 1996-2000, PostgreSQL, Inc Portions Copyright (c) 1994-6 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.

1.3) What Unix platforms does POSTGRESQL run on?

The authors have compiled and tested POSTGRESQL on the following platforms (some of these compiles require gcc):

1.4) What non-Unix ports are available?

It is possible to compile the libpq  C library, psql , and other interfaces and binaries to run on MS Windows platforms. In this case, the client is running on MS Windows, and communicates via TCP/IP to a server running on one of our supported Unix platforms.

A file win31.mak is included in the distribution for making a Win32 libpq  library and psql .

The database server is now working on Windows NT using the Cygnus Unix/NT porting library. See pgsql/doc/FAQ_NT in the distribution.

1.5) Where can I get POSTGRESQL?

The primary anonymous ftp site for POSTGRESQL is ftp://ftp.PostgreSQL.org/pub. For mirror sites, see our main Web site.

1.6) Where can I get support?

There is no support for POSTGRESQL from the University of California, Berkeley. It is maintained through volunteer effort.

The main mailing list is: pgsql-general@PostgreSQL.org. It is available for discussion of matters pertaining to POSTGRESQL. To subscribe, send mail with the following lines in the body (not the subject line):

 

        subscribe 
        end 
 

to pgsql-general-request@PostgreSQL.org.

There is also a digest list available. To subscribe to this list, send email to: pgsql-general-digest-request@PostgreSQL.org with a body of:

 

        subscribe 
        end 
 

Digests are sent out to members of this list whenever the main list has received around 30k of messages.

The bugs mailing list is available. To subscribe to this list, send email to pgsql-bugs-request@PostgreSQL.org with a body of:

 

        subscribe 
        end
 

There is also a developers discussion mailing list available. To subscribe to this list, send email to pgsql-hackers-request@PostgreSQL.org with a body of:

 

        subscribe 
        end 
 

Additional mailing lists and information about POSTGRESQL can be found via the POSTGRESQL WWW home page at: http://www.PostgreSQL.org.

There is also an IRC channel on EFNet, channel #PostgreSQL. I use the Unix command irc -c '#PostgreSQL' "$USER" irc.phoenix.net. Commercial support for POSTGRESQL is available at http://www.pgsql.com/.

1.7) What is the latest release?

The latest release of POSTGRESQL is version 7.0.2. We plan to have major releases every four months.

1.8) What documentation is available?

Several manuals, manual pages, and some small test examples are included in the distribution. See the /doc directory. You can also browse the manual online at http://www.postgresql.org/docs/postgres.

There is a POSTGRESQL book available at http://www.postgresql.org/docs/awbook.html.

psql has some nice backslash commands to show information about types, operators, functions, aggregates, etc.

Our Web site contains even more documentation.

1.9) How do I find out about known bugs or missing features?

POSTGRESQL supports an extended subset of SQL-92. See our TODO list for known bugs, missing features, and future plans.

1.10) How can I learn SQL?

The POSTGRESQL book at:

http://www.postgresql.org/docs/awbook.html
teaches SQL. There is a nice tutorial at

http://w3.one.net/~jhoffman/sqltut.htm

and at

http://ourworld.compuserve.com/homepages/graeme_birchall/HTM_COOK.HTM.

Another one is Teach Yourself SQL in 21 Days, Second Edition at:

http://members.tripod.com/er4ebus/sql/index.htm
Many of our users like The Practical SQL Handbook, Bowman, Judith S., et al., Addison-Wesley. Others like The Complete Reference SQL, Groff et al., McGraw-Hill.

1.11) Is POSTGRESQL Y2K compliant?

Yes, we easily handle dates past the year 2000AD, and before 2000BC.

1.12) How do I join the development team?

First, download the latest source and read the POSTGRESQL Developers documentation on our Web site, or in the distribution. Second, subscribe to the pgsql-hackers and pgsql-patches mailing lists. Third, submit high-quality patches to pgsql-patches.

There are about a dozen people who have commit privileges to the POSTGRESQL CVS archive. They each have submitted so many high-quality patches that it was impossible for the existing committers to keep up, and we had confidence that patches they committed were of high quality.

1.13) How do I submit a bug report?

Fill out the bug-template file and send it to: pgsql-bugs@PostgreSQL.org

Also check out our ftp site, ftp://ftp.PostgreSQL.org/pub, to see if there is a more recent POSTGRESQL version or patches.

1.14) How does POSTGRESQL compare to other DBMS's?

There are several ways of measuring software: features, performance, reliability, support, and price.

Features

POSTGRESQL has most features present in large commercial DBMS's, like transactions, subselects, triggers, views, foreign key referential integrity, and sophisticated locking. We have some features they don't have, like user-defined types, inheritance, rules, and multi-version concurrency control to reduce lock contention. We don't have outer joins, but are working on them.

Performance

POSTGRESQL runs in two modes. Normal fsync mode flushes every completed transaction to disk, guaranteeing that if the OS crashes or loses power in the next few seconds, all your data is safely stored on disk. In this mode, we are slower than most commercial databases, partly because few of them do such conservative flushing to disk in their default modes. In no-fsync mode, we are usually faster than commercial databases, though in this mode, an OS crash could cause data corruption. We are working to provide an intermediate mode that suffers less performance overhead than full fsync mode, and will allow data integrity within 30 seconds of an OS crash.

In comparison to MySQL or leaner database systems, we are slower on inserts/updates because we have transaction overhead. Of course, MySQL doesn't have any of the features mentioned in the Features section above. We are built for flexibility and features, though we continue to improve performance through profiling and source code analysis. There is an interesting Web page comparing POSTGRESQL to MySQL at http://openacs.org/why-not-mysql.html.

We handle each user connection by creating a Unix process. Backend processes share data buffers and locking information. With multiple CPU's, multiple backends can easily run on different CPU's.

Reliability

We realize that a DBMS must be reliable, or it is worthless. We strive to release well-tested, stable code that has a minimum of bugs. Each release has at least one month of beta testing, and our release history shows that we can provide stable, solid releases that are ready for production use. We believe we compare favorably to other database software in this area.

Support

Our mailing list provides a large group of developers and users to help resolve any problems encountered. While we can not guarantee a fix, commercial DBMS's don't always supply a fix either. Direct access to developers, the user community, manuals, and the source code often make POSTGRESQL support superior to other DBMS's. There is commercial per-incident support available for those who need it. (See support FAQ item.)

Price

We are free for all use, both commercial and non-commercial. You can add our code to your product with no limitations, except those outlined in our BSD-style license stated above.


next up previous contents index
Next: User Client Questions Up: Additional Resources Previous: Frequently Asked Questions (FAQs)
Bruce Momjian
2001-05-09