O PostgreSQL fornece quatro tipos de funções:
Funções em linguagem procedural (funções escritas em, por exemplo, PL/pgSQL ou PL/Tcl)
Todo tipo de função pode receber tipos de dados base, tipos de dados compostos, ou combinações deles como argumentos (parâmetros). Além disso, todo tipo de função pode retornar um tipo de dados base ou um tipo de dados composto. As funções também podem ser definidas retornando conjuntos de valores base ou compostos.
Muitos tipos de funções podem receber ou retornar certos pseudo-tipos de dados (como tipos de dados polimórficos), mas os recursos disponíveis variam. Consulte a descrição de cada tipo de função para obter mais detalhes.
As funções SQL são as mais fáceis de serem definidas, então serão as primeiras a serem discutidas. A maioria dos conceitos apresentados para as funções SQL são transferíveis para os outros tipos de funções.
Ao longo desse capítulo, pode ser útil consultar a página de
referência do comando CREATE FUNCTION
para entender melhor os exemplos.
Alguns exemplos desse capítulo podem ser encontrados nos arquivos
funcs.sql e funcs.c
no diretório src/tutorial na distribuição do
código-fonte do PostgreSQL.