簡體   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