You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何创建仅显示连接用户OID的函数?调用时需返回数字10

解决方案

已知当前连接用户为postgres:

postgres=# select current_user;
 current_user 
--------------
 postgres
(1 fila)

我们可以创建一个函数来返回当前连接用户的OID,针对当前场景,调用后会输出数字10(postgres用户在PostgreSQL中的默认OID为10)。

创建函数

方式一:动态获取当前用户OID(通用型)

该方式会自动匹配当前连接用户的OID,适用于所有用户场景:

CREATE OR REPLACE FUNCTION get_current_user_oid()
RETURNS integer AS $$
BEGIN
    RETURN (SELECT oid FROM pg_user WHERE usename = current_user);
END;
$$ LANGUAGE plpgsql;

方式二:固定返回10(仅适用于当前场景)

如果仅需针对当前场景返回10,可使用更简单的函数:

CREATE OR REPLACE FUNCTION get_current_user_oid()
RETURNS integer AS $$
BEGIN
    RETURN 10;
END;
$$ LANGUAGE plpgsql;

调用函数

执行以下命令调用函数:

SELECT get_current_user_oid();

输出结果:

get_current_user_oid
----------------------
                   10
(1 row)

内容的提问来源于stack exchange,提问作者MORATER

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 07:45:34