gpt4 book ai didi

python - PostgreSQL - Python - 触发器 - 访问 current_user

转载 作者:行者123 更新时间:2023-11-29 12:09:02 25 4
gpt4 key购买 nike

我正在用 plPython 编写审计触发器。我不知道如何访问 current_user 变量。它可以通过 plpy 以某种方式获得吗?

我还想知道是否可以将变量传递给触发器函数?如果是这样,这是怎么做到的?我试过:

create trigger stock_sys_audit before insert or update or delete on stock_tbl
FOR EACH ROW EXECUTE PROCEDURE sys_audit(current_user);

但它不起作用。

谢谢。

最佳答案

您只能通过 SQL 访问所有 Postgres 功能和设置。使用 plpy.execute(),示例:

create or replace function py_current_user()
returns text language plpython3u
as $$
res = plpy.execute("select current_user")
return res[0]["current_user"]
$$;

select py_current_user();

py_current_user
-----------------
postgres
(1 row)

关于python - PostgreSQL - Python - 触发器 - 访问 current_user,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46715852/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com