A mensagem de erro não faz sentido nada para a
CREATE OR REPLACE FUNCTION
comando que você mostra. Supondo que você esteja realmente chamando a função em uma instrução DML como SELECT per_cont('{1,2,3}', 1);
Obviamente você tem que estar usando o mesmo banco de dados, mas você diz que foi estabelecido.
Seu
search_path
também tem que combinar. Como você não está fornecendo um esquema explicitamente, a função é criada no esquema "atual" quando criada. O mesmo esquema deve aparecer no search_path
da outra sessão ou a função não está visível. Instruções detalhadas na resposta vinculada: