Capítulo 42. Linguagens procedurais

Índice

42.1. Instalação de linguagem procedural

O PostgreSQL permite que as funções definidas pelo usuário sejam escritas em outras linguagens além de SQL e C. Essas outras linguagens são chamadas genericamente de linguagens procedurais (PLs). Para uma função escrita em uma linguagem procedural, o servidor de banco de dados não possui conhecimento interno sobre como interpretar o texto fonte da função. Em vez disso, a tarefa é passada para um tratador (handler) especial que conhece os detalhes da linguagem. O tratador pode fazer todo o trabalho de leitura, análise sintática, execução, etc., ou pode servir como ponte entre o PostgreSQL e uma implementação existente de uma linguagem de programação. O tratador em si é uma função na linguagem C, compilada em um objeto compartilhado e carregada sob demanda, assim como qualquer outra função C.

Existem atualmente quatro linguagens procedurais disponíveis na distribuição padrão do PostgreSQL: PL/pgSQL, PL/Tcl, PL/Perl, e PL/Python. Existem linguagens procedurais adicionais disponíveis, mas não estão incluídas na distribuição principal. Projetos externos tem informações sobre como encontrá-las. Além disso, outras linguagens podem ser definidas pelos usuários; os fundamentos do desenvolvimento de uma nova linguagem procedural são abordados no Escrita de tratador de linguagem procedural.

Contato

CSS válido!