PostgreSQL 7.2.1 Documentation
Prev |  | Next

# Chapter 12. Extending SQL: Functions

# 12.1. Introduction

As it turns out, part of defining a new type is the definition of functions that describe its behavior. Consequently, while it is possible to define a new function without defining a new type, the reverse is not true. We therefore describe how to add new functions to PostgreSQL before describing how to add new types.

PostgreSQL provides four kinds of functions:

- query language functions (functions written in SQL)

- procedural language functions (functions written in, for example, PL/Tcl or PL/pgSQL)

- internal functions

- C language functions

Every kind of function can take a base type, a composite type, or some combination as arguments (parameters). In addition, every kind of function can return a base type or a composite type. It's easiest to define SQL functions, so we'll start with those. Examples in this section can also be found in `funcs.sql` and `funcs.c` in the tutorial directory.

Throughout this chapter, it can be useful to look at the reference page of the CREATE FUNCTION command to understand the examples better.

Prev | Home | Next
About the PostgreSQL System Catalogs | Up | Query Language (SQL) Functions