This second part of the manual explains the
    PostgreSQL approach to extensibility
    and describe how users can extend
    PostgreSQL by adding user-defined
    types, operators, aggregates, and both query language and
    programming language functions.  After a discussion of the
    PostgreSQL rule system, we discuss the
    trigger and SPI interfaces.