43.24. pg_proc

O catálogo pg_proc armazena informações sobre as funções (ou procedimentos). Para obter mais informações deve ser visto o comando CREATE FUNCTION e a Seção 33.3 .

A tabela contém dados para funções de agregação assim como para funções simples. Se proisagg for verdade, deve existir uma linha correspondente em pg_aggregate.

Tabela 43-24. Colunas do catálogo pg_proc

Nome Tipo Referencia Descrição
proname name   Nome da função
pronamespace oid pg_namespace .oid OID do espaço de nomes que contém esta função.
proowner int4 pg_shadow .usesysid Dono da função
prolang oid pg_language .oid Linguagem de implementação ou interface de chamada desta função
proisagg bool   Verdade se a função for uma função de agregação
prosecdef bool   Verdade se a função for uma função definidora de segurança (ou seja, uma função "setuid")
proisstrict bool   Verdade se a função retorna nulo quando algum argumento de chamada é nulo. Neste caso, na verdade, a função nem vai ser chamada. As funções que não são "estritas" devem estar preparadas para tratar entradas nulas.
proretset bool   Verdade se a função retorna um conjunto (ou seja, vários valores do tipo de dado especificado)
provolatile char   provolatile informa se o resultado da função depende apenas de seus argumentos de entrada, ou é afetada por fatores externos. Valor igual a i para as funções "imutáveis", que sempre retornam o mesmo resultado para as mesmas entradas. Valor igual a s para as funções "estáveis", cujos resultados (para entradas fixas) não mudam dentro de uma mesma varredura. Valor igual a v para as funções "voláteis", cujos resultados podem mudar a qualquer instante (Também deve ser utilizado v para as funções com efeitos colaterais, para que as chamadas às mesmas não sejam otimizadas).
pronargs int2   Número de argumentos
prorettype oid pg_type .oid Tipo de dado do valor retornado
proargtypes oidvector pg_type .oid Matriz contendo os tipos de dado dos argumentos da função
prosrc text   Informa ao tratador da função como chamar a função. Podendo ser o código fonte da função para as linguagens interpretadas, o símbolo de ligação, o nome do arquivo, ou qualquer outra coisa, dependendo da linguagem de implementação/convenção de chamada.
probin bytea   Informações adicionais sobre como chamar a função. Novamente, a interpretação é específica da linguagem.
proacl aclitem[]   Privilégios de acesso

Para as funções compiladas, tanto nativas quanto carregadas dinamicamente, prosrc contém o nome da função na linguagem C (símbolo de ligação). Para todos os outros tipos de linguagem conhecidos no momento, prosrc contém o texto do código fonte da função. probin não é utilizado, exceto para as funções C carregadas dinamicamente, para as quais fornece o nome do arquivo de biblioteca compartilhada contendo a função.

SourceForge.net Logo