Quando / como as funções de expressão de valor padrão são vinculadas em relação ao caminho da pesquisa?
Para fins de teste, forneço minha própria implementação donow()
função que épublic.now()
. Usandosearch_path
substituir o padrãopg_catalog.now()
com minha própria versão funciona principalmente, mas eu tenho uma tabela com uma expressão padrão denow()
. Mostrar a tabela produz algo semelhante ao seguinte:
start_date | date | not null default now()
No entanto, após um esquema salvar e restaurar (em um banco de dados de teste), a mesma tabela show produz
start_date | date | not null default pg_catalog.now()
Suponho que, inicialmente, a função na expressão padrão não esteja vinculada a nenhum esquema e o caminho da pesquisa será usado para encontrar o correto. No entanto, a operação de despejo ou restauração parece "vincular" a função à atual.
O meu entendimento do "estado de ligação" da função está correto? Existe uma maneira de manter o limite da função além dos limites de despejo / restauração?