PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Processo de execução de funções do Postgresql


Por motivos de segurança, pg_dump (ou pg_restore) emite um comando que esvazia o search_path, então quando você restaura o processo é executado com um caminho de pesquisa vazio. Mas ele não edita o corpo do texto de sua função, mas o emite como está, portanto, não pode alterá-lo para especificar o nome totalmente qualificado da tabela. Portanto, a função não pode encontrar a tabela quando executada dentro do processo de restauração.

Você pode qualificar totalmente o nome da tabela na função ou pode definir a função com SET search_path = public . Ou você pode editar o arquivo de despejo para remover a parte que limpa o search_path, se não estiver preocupado com as implicações de segurança.