繁体   English   中英

PostgreSQL - Python - 触发器 - 访问 current_user

[英]PostgreSQL - Python - Trigger - Access to current_user

我正在用 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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM