Chapter 1. What is PostgreSQL?

PostgreSQL is an Object-Relational Database Management System (ORDBMS) that has been developed in various forms since 1977. It began as a project named Ingres at the University of California at Berkeley. Ingres itself was later developed commercially by Relational Technologies/Ingres Corporation. Ingres was released as Open Source in 2004.

In 1986 another team led by Michael Stonebraker from Berkeley continued the development of the Ingres code to create an object-relational database system called Postgres. In 1996, due to a new open source effort and the enhanced functionality of the software, Postgres was renamed to PostgreSQL, after a brief stint as Postgres95. The PostgreSQL project is still under very active development worldwide from a team of open source developers and contributors.

PostgreSQL is widely considered to be the most advanced open source database system in the world. It provides many features (which are discussed in more detail in Section 1.2") that are traditionally seen only in enterprise-caliber commercial products.

1.1. Open Source Free Version

PostgreSQL is an open source project. Open source by definition means that you can obtain the source code, use the program, and modify it freely without the confines of proprietary software. In the database world, open source means that you have honest access to benchmarking numbers and performance statistics, which companies such as Oracle prohibit. Open source also means that you are free to modify PostgreSQL to fit your particular needs.

However, there is a misconception that since open source software is free from distribution restrictions, it is always free of cost to your company. This is not necessarily the case. It is true that you can, without external cost, download and install open source software, but there will always be costs associated with the time and energy your company puts into support and research of the application. As such, if you do not have those resources to spend, there are several commercial vendors and consultants who deal specifically with PostgreSQL.

1.1.1. Commercial PostgreSQL Distributions

The Command Prompt version of PostgreSQL is called Mammoth PostgreSQL + Replication Mammoth PostgreSQL is a 100% compatible version of PostgreSQL with commercial support, some minor additional features. Unlike the community PostgreSQL, Mammoth PostgreSQL has integrated replication. Mammoth PostgreSQL and Mammoth Replicator are both actively developed along side the Open Source version of PostgreSQL. It currently supports Linux, FreeBSD, MacOSX, Solaris and Win32 as its operating platform.

1.1.2. Pervasive

Pervasive is the newest player to the PostgreSQL market. The Pervasive version of PostgreSQL is the open source version of PostgreSQL packaged with the Pervasive name.

1.1.3. Open Source Versus Commercial Products

The open source version of PostgreSQL only includes the database-management system and the associated programming interfaces.

The main factor in deciding whether to use the open source version of PostgreSQL or a commercially packaged version should be your business requirements. If you have a knowledgeable on-site technical-support staff, the community version may do well for you. However, if you need installation, configuration, and management support, you may be better served by purchasing a commercial version of PostgreSQL.

If you prefer to do business with smaller consulting companies, we have compiled a modest list of professional companies providing support for PostgreSQL in Section 1.1.5."

1.1.4. The Bottom Line

Marketing would suggest that a commercial version of PostgreSQL is somehow objectively superior to an open source version of PostgreSQL. In reality, this is not the case. When deciding what version of PostgreSQL you are going to run, you need only be aware of your own needs. For example, are you going to need installation support? Is a graphical installation important to you? If they are, then you should probably purchase a commercial version of PostgreSQL. However, if you or one of your staff are comfortable with compiling and configuring source code, the open source version could be more applicable to you.

The most important thing to remember when deciding on which version of PostgreSQL to use is this (from a perspective of general usage and feature availability): with the exception of Mammoth Replicator (which includes PostgreSQL) there is no practical difference between the open source and the commercial versions.

1.1.5. Commercial Support

There are many companies that provide consulting services to the PostgreSQL community. The following is a small list of consultants providing commercial support for PostgreSQL.

Command Prompt, Inc. (http://www.commandprompt.com/)

Command Prompt, Inc. is a PostgreSQL Solutions company. They are the developers of the commercial PostgreSQL distributions Mammoth PostgreSQL and Mammoth Replicator. Active members of the PostgreSQL community, they are the primary developers of the Open source projects plPHP, plPerlNG and pgPHPToolkit. Command Prompt provides complete PostgreSQL solutions including custom programming, 24x7 support, consulting, migration, managed services, dedicated hosting and feature enhancements.

Joshua D. Drake, the author of this book is the Editor-N-Chief of PostgreSQL.Org a member of the PostgreSQL Foundation and Lead Consultant of Command Prompt, Inc.

Pervasive (http://www.pervasivepostgres.com/)

Pervasive is a newcomer to the PostgreSQL world. They currently offer a PostgreSQL distribution called Pervasive Postgres. They also offer paid support.

PostgreSQL, Inc. (http://www.pgsql.com/)

PostgreSQL, Inc. offers support for PostgreSQL, promotional materials and support. They were the first to provide a Replication engine (erServer) for PostgreSQL. Marc Fournier the co-owner of PostgreSQL, Inc. is one of the founders of the PostgreSQL Open source project. He is also a Director of the PostgreSQL Foundation.

Software Research Associates (http://osb.sra.co.jp/)

Software Research Associates offers a range of services to aid customers with open source software-based systems. Support from this company is also available in Japanese. They provide the commercial PostgreSQL distribution Powergress.

SRA employs Tatsuo Ishii a valued member of the PostgreSQL community who provided the code required for PostgreSQL to use UNICODE and Multibyte. SRA also employs Bruce Momjian who is a PostgreSQL project founder and core member.

1.1.6. Community Support

The PostgreSQL community provides active support to users of PostgreSQL via a number of mailing lists. There are several user mailing lists to which you can subscribe, segregated by topic (e.g., pgsql-general, pgsql-hackers, etc.). The mailing lists for PostgreSQL users are quite thorough, covering everything from general discussion to support on developing with PostgreSQL programming interfaces. For a complete list of mailing lists with associated descriptions, please visit the PostgreSQL website at http://www.postgresql.org.