我在PostgreSQL 9.2版中激活了SQL语句的日志记录。 它开始写这样的日志语句:
日志:执行:UPDATE qrz_TRIGGERS SET JOB_NAME = $ 1, JOB_GROUP = $ 2,IS_VOLATILE = $ 3,DESCRIPTION = $ 4,NEXT_FIRE_TIME = $ 5,PREV_FIRE_TIME = $ 6,TRIGGER_STATE = $ 7,TRIGGER_TYPE = $ 8,START_TIME = $ 9,END_TIME = $ 10,CALENDAR_NAME = $ 11,MISFIRE_INSTR = $ 12,PRIORITY = $ 13 在哪里TRIGGER_NAME = $ 14 AND TRIGGER_GROUP = 15美元
细节:参数:$ 1 ='dssSchedulerJob',$ 2 ='DEFAULT',$ 3 ='f',$ 4> = NULL,$ 5 ='1501855865730',$ 6 ='1501855855730',$ 7 = '阻止',$ 8 ='简单',$ 9 ='1252939835730',$ 10 ='0',$ 11 = NULL,$ 12 ='0',$ 13 = '5',$ 14 ='dssTrigger',$ 15 ='DEFAULT'
我想采用这个SQL并在pgAdmin3中运行分析,例如。
有人知道如何启用Postgres来区分整数和字符串。或者更好地在需要引用的参数和不需要引用的参数之间。
获取参数并将它们放在SQL中的正确位置非常麻烦。写一个简单的工具来帮助这里也是不可能或非常困难的,因为它不知道是否需要引用。
感谢。
答案 0 :(得分:0)
因为你可以看到所有值但是null在这里是单引号。您可以将它们传递给准备好的声明,因为它们在此处提供。一个简短的例子:
t=# prepare a(int) as (select $1/2);
PREPARE
t=# execute a('4');
?column?
----------
2
(1 row)
t=# execute a('32');
?column?
----------
16
(1 row)
因此您可以使用LOG: execute
部分来准备语句并解析DETAIL: parameters:
以用作语句的参数