Most of the software that I've described in this book is considered to be part of the core PostgreSQL distribution. The core distribution is managed by the core development teama small, well-organized, and highly-dedicated team of professional developers and designers. But there are a huge number of developers that contribute software to the PostgreSQL community. Some of the contributed packages are included in the core distribution (in the contrib directory) and you can find many others at the PgFoundry and Gborg web sites (www.pgfoundry.org and gborg.postgresql.org).
Contributed software is a broad term that describes open-source software designed to work with PostgreSQL. That includes everything from graphical SQL client applications and graphical management applications to procedural languages such as PL/Java and PL/perl. You can also find contributed packages that will help you convert data and programs from other systems (such as MySQL, Oracle, and mSQL) into PostgreSQL. At the Gborg web site, you can find an ODBC driver, a JDBC driver (for Java applications), a DBD:: driver (for Perl applications), and interfaces for applications written in C, C++, Visual Basic, C#, Tcl/Tk, Ruby, Python, and maybe even Cobol. You'll find database design tools, monitoring tools, administrator tools, developer tools, even complete business applications.
In this chapter, I'll describe two of the contribute packages that come in the core PostgreSQL distribution: xml2 and tsearch2. The xml2 package lets you store XML documents inside a PostgreSQL database, query those documents using XPath queries, and convert XML documents using XSLT stylesheets. tsearch2 is a full-text indexing and searching package that lets you turn your PostgreSQL server into a search engine.
Part I: General PostgreSQL Use
Introduction to PostgreSQL and SQL
Working with Data in PostgreSQL
PostgreSQL SQL Syntax and Use
Performance
Part II: Programming with PostgreSQL
Introduction to PostgreSQL Programming
Extending PostgreSQL
PL/pgSQL
The PostgreSQL C APIlibpq
A Simpler C APIlibpgeasy
The New PostgreSQL C++ APIlibpqxx
Embedding SQL Commands in C Programsecpg
Using PostgreSQL from an ODBC Client Application
Using PostgreSQL from a Java Client Application
Using PostgreSQL with Perl
Using PostgreSQL with PHP
Using PostgreSQL with Tcl and Tcl/Tk
Using PostgreSQL with Python
Npgsql: The .NET Data Provider
Other Useful Programming Tools
Part III: PostgreSQL Administration
Introduction to PostgreSQL Administration
PostgreSQL Administration
Internationalization and Localization
Security
Replicating PostgreSQL Data with Slony
Contributed Modules
Index