Primeiro, você deve alterar
relocatable para false no arquivo de controle da extensão. Fora isso, a recomendação que você recebeu é parcialmente razoável e parcialmente absurda.
Você deve definir suas funções assim:
CREATE FUNCTION .... AS
$$ /* function body */ $$
SET search_path = @example@sqldat.com;
Em seguida, o
search_path é fixado em pg_catalog , pg_temp e seu esquema de extensão durante a chamada da função. Isso significa que todo acesso a objetos sem um esquema explícito só pesquisará nesses esquemas. Então você não precisa se preocupar em qualificar explicitamente tudo na função com
@example@sqldat.com , e você pode usar operadores sem se preocupar, porque search_path aplica-se também aos operadores. (Você também pode qualificar operadores de esquema:OPERATOR(schema.+) , mas isso é obviamente doloroso e prejudica a legibilidade.)