Eu coloquei muito RAISE NOTICE em funções para fins de depuração. Acho que isso afetará o desempenho, portanto, eles devem ser removidos no ambiente de produção. Existe alguma maneira de desativar essas funções de log/asserção apenas sob condições específicas?
relate perguntas
-
Posso ativar o PITR depois que o banco de dados foi usado
-
Práticas recomendadas para executar a replicação atrasada do deslocamento de tempo
-
Os procedimentos armazenados impedem a injeção de SQL?
-
Sequências Biológicas do UniProt no PostgreSQL
-
Qual é a diferença entre a replicação do PostgreSQL 9.0 e o Slony-I?
Você pode envolvê-los em uma
IF
cláusula que testa uma variável de configuração personalizada. Isso funcionará, mas é um pouco detalhado e cada instrução em PL/PgSQL tem um custo.Suspeito que seja melhor diminuir o nível de log nas
RAISE
mensagens para que você faça logon em um nível comoDEBUG
esse que não é capturadolog_min_messages
por padrão. Dessa forma, você pode ativá-lo alterandoclient_min_messages
oulog_min_messages
.Veja a forma expandida da
RAISE
declaração, por exemplo:Consulte a documentação da
RAISE
declaração .Como alternativa, você pode deixar suas mensagens
RAISE NOTICE
e aumentar o nível de log, mas isso pode ocultar outras informações que você deseja ver nos logs. Melhor logar com uma prioridade mais baixa inicialmente.Contanto que os avisos não estejam fazendo muita formatação de string cara ou sendo chamados um grande número de vezes, suspeito que você não terá muitos problemas com o impacto no desempenho enquanto o registro no arquivo/cliente é suprimido pelos níveis de log.