Quando você está estendendo o PostgreSQL em C , como se introspect/debug/dump uma variável? Existe um método diferente de retornar um conjunto de resultados personalizado para o cliente? Algo como um printf
que eu possa receber em um log no servidor, ou no cliente?
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?
Pode ser melhor elog em vez de printf. Dessa forma, você obtém todos os recursos do sistema de registro gratuitamente.
Em vez de AVISO, você pode usar INFO, LOG, WARN, DEBUG1, etc.
Existem alguns métodos para isso documentados no PostgreSQL na página de documentação para relatórios de log de erros, existe o método mais antigo
elog
e o método mais recenteereport
elog(level, "format string", ...);
ereport(level, errmsg_internal("format string", ...));
O
level
pode ser definido comoERROR
,WARNING
eNOTICE
whereERROR
aborta a execução.A orientação sobre eles é
Há muito mais informações sobre "rotinas auxiliares" para ereport que permitem especificar
errcode
,errmsg
(e plural),errmsg_internal
,errdetail
(e plural),errdetail_internal
,errdetail_log
(e plural),errhint
(e plural),errcontext
,errposition
,errtable
,errtablecol
,errtableconstraint
,errdatatype
,errdomainconstraint
,errcode_for_file_access
,errcode_for_socket_access
,errhidestmt
, eerrhidecontext
.Você também pode simplesmente usar
E você verá o resultado no log do seu servidor,