PostgreSQL 允许用户定义的函数使用 SQL 和 C 之外的语言编写。通常这些额外的语言叫过程语言(PL)。如果用一种过程语言书写了一个函数,那么数据库服务器没有任何内建的办法解析该函数的源文本。实际上这些任务都传递给一个知道如何处理这些细节的处理器处理。这个处理器既可以自己做所有的分析(语法分析,执行等)工作,也可以充当 PostgreSQL 和一种现有的编程语言实现之间的"胶水"。处理器本身是一个 C 语言函数,它被编译成共享对象并且在需要的时候加载,就像其它 C 函数一样。
目前在标准的 PostgreSQL 发布里有四种过程语言可用:PL/pgSQL(章37), PL/Tcl(章38), PL/Perl(章39), PL/Python(章40)还有几种额外的过程语言没有包含在核心发布里。附录H里面有如何找到它们的信息。用户可以定义其它语言。开发一种新的过程语言的基本信息在章47里介绍。