在Postgresql中创建全局变量

在Postgresql中创建全局变量,postgresql,triggers,postgresql-9.1,Postgresql,Triggers,Postgresql 9.1,我正在为日志表创建触发器。在该触发器中,我想将xuserno存储到日志表中xuserno是所有函数的参数 例如: CREATE OR REPLACE FUNCTION fn_consume(xmode text, xuserno integer) RETURNS text AS .... ..... ..... END; 每个表都有这种类型的功能。那么如何访问我的触发器中的xuserno。如何为此创建全局变量?或者任何其他解决方案都可以做到这一点?可以使用事务本地自定义GUC实现这一目的

我正在为日志表创建触发器。在该触发器中,我想将
xuserno
存储到日志表中
xuserno
是所有函数的参数

例如:

CREATE OR REPLACE FUNCTION fn_consume(xmode text, xuserno integer)
  RETURNS text AS
....
.....
.....

END;

每个表
都有这种类型的
功能
。那么如何访问我的
触发器中的
xuserno
。如何为此创建
全局变量
?或者任何其他解决方案都可以做到这一点?

可以使用事务本地自定义GUC实现这一目的,但这通常不是一个好主意

在大多数情况下,最好只使用一个包含感兴趣值的单行的
ON COMMIT DROP
临时表

见:


类似于我这样使用
设置myapp.user_name=xuserno'xuserno是函数的参数。使用此函数获取值
选择当前设置('myapp.user\u name')
但它显示的是
xuserno
而不是'xuserno值',为什么?我在做什么wrong@SATSON根据你提供的信息,我不可能说。发布一个新问题,并附上完整的、可运行的程序代码以及您的PostgreSQL版本等。