
PostgreSQL is a great example of open-souce software. I've been using databases for the last two decades. I've used most of the major commercial databases: Oracle, Sybase, DB2, and MS SQL Server. With each commercial database, there is a wall of knowledge between my needs and the vendor's need to protect his intellectual property. Until I started exploring open-source databases, I had an incomplete understanding of how a database works. Why was this particular feature implemented that way? Why am I getting poor performance when I try this? That's a neat feature; I wonder how they did that? Every commercial database tries to expose a small piece of its inner workings. The explain statement will show you why the database makes its optimization decisions. But, you only get to see what the vendor wants you to see.
The vendor isn't trying to hide things from you (in most cases), but without complete access to the source code, they have to pick and choose how to expose information in a meaningful way. With open-source software, you can dive deep into the source code and pull out all the information you need. While writing this book, I've spent a lot of time reading through the PostgreSQL source code. I've added a lot of my own code to reveal more information so that I could explain things more clearly. I can't do that with a commercial database.
PostgreSQL is a relational database with a long history. In the late 1970s, the University of California at Berkeley began development of PostgreSQL's ancestora relational database known as Ingres. Relational Technologies turned Ingres into a commercial product. Relational Technologies became Ingres Corporation and was later acquired by Computer Associates. Around 1986, Michael Stonebraker from UC Berkeley led a team that added object-oriented features to the core of Ingres; the new version became known as Postgres. Postgres was again commercialized; this time by a company named Illustra, which became part of the Informix Corporation. Andrew Yu and Jolly Chen added SQL support to Postgres in the mid-'90s. Prior versions had used a different, Postgres-specific query language known as Postquel. In 1996, many new features were added, including the MVCC transaction model, more adherence to the SQL92 standard, and many performance improvements. Postgres once again took on a new name: PostgreSQL.
Today, PostgreSQL is developed by an international group of open-source software proponents known as the PostgreSQL Global Development group. PostgreSQL is an open-source productit is not proprietary in any way. Red Hat has recently commercialized PostgreSQL, creating the Red Hat Database, but PostgreSQL itself will remain free and open source.
TABLE OF CONTENT:Chapter 01 - Introduction to PostgreSQL and SQL Chapter 02 - Working with Data in PostgreSQL Chapter 03 - PostgreSQL SQL Syntax and Use Chapter 04 - Performance Chapter 05 - Introduction to PostgreSQL Programming Chapter 06 - Extending PostgreSQL Chapter 07 - PL/pgSQL Chapter 08 - The PostgreSQL C APIlibpq Chapter 09 - A Simpler C APIlibpgeasy Chapter 10 - The New PostgreSQL C++ APIlibpqxx Chapter 11 - Embedding SQL Commands in C Programsecpg Chapter 12 - Using PostgreSQL from an ODBC Client Application Chapter 13 - Using PostgreSQL from a Java Client Application Chapter 14 - Using PostgreSQL with Perl Chapter 15 - Using PostgreSQL with PHP Chapter 16 - Using PostgreSQL with Tcl and Tcl/Tk Chapter 17 - Using PostgreSQL with Python Chapter 18 - Npgsql: The .NET Data Provider Chapter 19 - Other Useful Programming Tools Chapter 20 - Introduction to PostgreSQL Administration Chapter 21 - PostgreSQL Administration Chapter 22 - Internationalization and Localization Chapter 23 - Security Chapter 24 - Replicating PostgreSQL Data with Slony Chapter 25 - Contributed Modules
The vendor isn't trying to hide things from you (in most cases), but without complete access to the source code, they have to pick and choose how to expose information in a meaningful way. With open-source software, you can dive deep into the source code and pull out all the information you need. While writing this book, I've spent a lot of time reading through the PostgreSQL source code. I've added a lot of my own code to reveal more information so that I could explain things more clearly. I can't do that with a commercial database.
PostgreSQL is a relational database with a long history. In the late 1970s, the University of California at Berkeley began development of PostgreSQL's ancestora relational database known as Ingres. Relational Technologies turned Ingres into a commercial product. Relational Technologies became Ingres Corporation and was later acquired by Computer Associates. Around 1986, Michael Stonebraker from UC Berkeley led a team that added object-oriented features to the core of Ingres; the new version became known as Postgres. Postgres was again commercialized; this time by a company named Illustra, which became part of the Informix Corporation. Andrew Yu and Jolly Chen added SQL support to Postgres in the mid-'90s. Prior versions had used a different, Postgres-specific query language known as Postquel. In 1996, many new features were added, including the MVCC transaction model, more adherence to the SQL92 standard, and many performance improvements. Postgres once again took on a new name: PostgreSQL.
Today, PostgreSQL is developed by an international group of open-source software proponents known as the PostgreSQL Global Development group. PostgreSQL is an open-source productit is not proprietary in any way. Red Hat has recently commercialized PostgreSQL, creating the Red Hat Database, but PostgreSQL itself will remain free and open source.
TABLE OF CONTENT:Chapter 01 - Introduction to PostgreSQL and SQL Chapter 02 - Working with Data in PostgreSQL Chapter 03 - PostgreSQL SQL Syntax and Use Chapter 04 - Performance Chapter 05 - Introduction to PostgreSQL Programming Chapter 06 - Extending PostgreSQL Chapter 07 - PL/pgSQL Chapter 08 - The PostgreSQL C APIlibpq Chapter 09 - A Simpler C APIlibpgeasy Chapter 10 - The New PostgreSQL C++ APIlibpqxx Chapter 11 - Embedding SQL Commands in C Programsecpg Chapter 12 - Using PostgreSQL from an ODBC Client Application Chapter 13 - Using PostgreSQL from a Java Client Application Chapter 14 - Using PostgreSQL with Perl Chapter 15 - Using PostgreSQL with PHP Chapter 16 - Using PostgreSQL with Tcl and Tcl/Tk Chapter 17 - Using PostgreSQL with Python Chapter 18 - Npgsql: The .NET Data Provider Chapter 19 - Other Useful Programming Tools Chapter 20 - Introduction to PostgreSQL Administration Chapter 21 - PostgreSQL Administration Chapter 22 - Internationalization and Localization Chapter 23 - Security Chapter 24 - Replicating PostgreSQL Data with Slony Chapter 25 - Contributed Modules
pass: ganelon