PostgreSQL is an extensible database. You can add new functions, new operators, and custom data types to the PostgreSQL server.
In this chapter, I'll show you how to add two simple functions, a new data type, and a set of operators that work with the new type. The examples build on each other, so it would be a good idea to read this chapter in sequence rather than skipping around too much. The sample code used in this chapter was developed using PostgreSQL release 7.2. Release 7.3 introduces some new features that make it easier to write server extensions; I'll point out those features.
We'll start by adding a new function to the PostgreSQL server. The details are important, but the process is not difficult. After you know how to add one function to the server, it's easy to add others.