P0001: raise_exception
PostgreSQLO que significa?
Uma função ou trigger PL/pgSQL gerou um erro deliberadamente com RAISE EXCEPTION. Este erro não é produzido pelo motor do banco, mas por código de regra de negócio escrito por você (ou por uma biblioteca).
Por que acontece?
Quando a lógica de negócio reprova uma validação, o desenvolvedor chamou RAISE EXCEPTION 'message' USING ERRCODE = ...;. Por exemplo, uma trigger gera um erro personalizado para bloquear uma atualização não permitida ou impor uma regra de consistência.
Como resolver
A mensagem de erro e os eventuais campos HINT/DETAIL explicam o que a função rejeitou; satisfaça a regra de negócio de acordo. Para encontrar a origem, inspecione o código da função/trigger correspondente (os comandos RAISE). Se for necessário um SQLSTATE específico, atribua um código significativo com RAISE ... USING ERRCODE em vez do genérico P0001, para que a aplicação consiga diferenciá-lo.