What is PostgreSQL?
Ray Hunter on 2002 July 19
    

A Little PostgreSQL History

PostgreSQL started its life in the halls of the University of California at Berkeley. During that time it was known as Ingres. Many developers helped during the early phase of development of the PostgreSQL code base. PostgreSQL left Berkeley and moved into the open source realm in the summer of 1996. This was a major challenge for the developers; however, it proved to be a vital period in the overall development of what we know as PostgreSQL. In the early days of open source development there where four main developers: Thomas Lockhart, Vadim Mikheev, Bruce Momjian and Marc Fournier

.

As more and more developers contributed to the source code, new functionality and cleaner code solidified the overall performance of PostgreSQL. The result is a powerful RDBM that rivals many of today's commercial database systems. With PostgreSQL's user base increasing, it has become a major player in the open source community and the database community.


Who Is Using PostgreSQL?

There are so many people out there using PostgreSQL that PostgreSQL Inc. (http://www.pgsql.com) has created a Web site that allows you to view the names of companies that are currently using the PostgreSQL database system. One of the major supporters that turned me on to PostgreSQL in the early days was Redhat. They use PostgreSQL for many of their database systems and ship it will all their releases.

I need to point out that PostgreSQL Inc. handles many of the issues relating to the business side of the PostgreSQL database application and its overall growth. The company's primary focus is to marketing, advertising and promoting the use of this free open source database solution throughout the world.



Why Use PostgreSQL?

PostgreSQL is the most advanced RDBM system in the open source community. Some of the reasons why you want to use PostgreSQL can be summarized below:
1. Foreign Key Support
2. Joins: inner, left, right, full, outer, and natural joins
3. Views (One of my favorite features)
4. Triggers: before and/or after database actions
5. Support for sub-selects and sub-queries
6. User Defined functions
7. Support of many data types outlined in SQL95 and SQL99.
8. Support for geometric constructs and various network constructs, such as IP and MAC (Media Access Control) addresses
9. Support for Rules
10. Indexes: Gist Indexes, R-Tree, B-Tree
11. Transactions: ACID compliant, rollbacks, serializable transaction isolation
12. Multi-Version Concurrency Control (MVCC). This is great for concurrent applications.

Many of these features might be new to you; however, as you become more and more conversant with database systems, your need for more powerful features will increase as well.



Compared to other databases, PostgreSQL is used for many applications that require more complex features. For example, if you need a database that supports foreign keys, you will probably want to use PostgreSQL instead of MySQL. MySQL has tables that support foreign key references; however, they are very hard to set up for the newbies. It is easier to use PostgreSQL in this case, because the feature is already supported and you do not have to set up additional tables.

Reference:
1. PostgreSQL History: http://www.ca.postgresql.org/docs/devhistory.html
2. PostgreSQL http://www.postgresql.org
3. PostgreSQL Inc. http://www.pgsql.com
4. Interactive Docs: http://www.postgresql.org/idocs/
5. TechDocs: http://techdocs.postgresql.org/
6. Practical PostgreSQL: http://www.commandprompt.com/ppbook/
7. Download PostgreSQL: http://www.us.postgresql.org/sitess.html
8. Developer's Corner: http://developer.postgresql.org/index.php
9. Developer's Bios: http://developer.postgresql.org/bios.php

Ray "BigDog" Hunter
Tentatively planning to Open Soon! (no dates ...) // Doing heavy development now...