无法在postgreSQL中输入原始语法分析器?

无法在postgreSQL中输入原始语法分析器?,postgresql,Postgresql,我试图分析postgreSQL是如何解析查询的,在通过嵌入printf()跟踪postgreSQL源代码之后,我知道查询将通过位于文件parser.c中的raw_parser解析为原始解析树 奇怪的是,我已经在raw_解析器中嵌入了printf()伪码,在重新安装postgreSQL并执行查询后,我的printf()伪码没有打印到屏幕上 谁能帮帮我,我哪里出了问题 提前感谢:D如果您使用printf(stderr,“…”),那么您可以在服务器日志中找到结果。别忘了,您不能直接使用服务器。出于调试

我试图分析postgreSQL是如何解析查询的,在通过嵌入printf()跟踪postgreSQL源代码之后,我知道查询将通过位于文件parser.c中的raw_parser解析为原始解析树

奇怪的是,我已经在raw_解析器中嵌入了printf()伪码,在重新安装postgreSQL并执行查询后,我的printf()伪码没有打印到屏幕上

谁能帮帮我,我哪里出了问题

提前感谢:D

如果您使用printf(stderr,“…”),那么您可以在服务器日志中找到结果。别忘了,您不能直接使用服务器。出于调试目的,有一个elog函数-它类似于客户端应用程序的printf:

elog(NOTICE, "some text");

格式字符串与printf的格式相同,但您必须记住,PostgreSQL使用的格式与glibc不同,因此您可以只显示整数或浮点变量。字符串变量使用的格式与C zero finished字符串不同。

一种可能是stdout的句柄已关闭或更改为您不期望的格式。尝试打开自己的文件并写入该文件。