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

如何在PostgreSQL中通过SQL设置与获取当前连接的应用名称?

在PostgreSQL中实现类似ADS的应用ID设置与获取

修改当前连接的application_name

PostgreSQL中直接使用SET命令即可修改当前连接的application_name,语法如下:

SET application_name = :appname;

这和你在ADS中调用sp_SetApplicationID的效果一致,设置后该值会在pg_stat_activity的对应连接记录中显示。

获取当前连接的application_name

通过current_setting函数可以直接获取当前连接的application_name:

SELECT current_setting('application_name');

模拟ADS的存储过程(适配原有代码)

如果希望保持和原有ADS代码一致的调用方式,可以创建对应的存储过程/函数:

  1. 创建模拟sp_SetApplicationID的存储过程:
CREATE OR REPLACE PROCEDURE sp_SetApplicationID(p_appname text)
LANGUAGE plpgsql
AS $$
BEGIN
    EXECUTE format('SET application_name = %L', p_appname);
END;
$$;

调用方式和ADS一致:

CALL sp_SetApplicationID(:appname);
  1. 创建模拟sp_GetApplicationID的函数(更贴合ADS返回值的用法):
CREATE OR REPLACE FUNCTION sp_GetApplicationID()
RETURNS text
LANGUAGE plpgsql
AS $$
BEGIN
    RETURN current_setting('application_name');
END;
$$;

调用方式:

SELECT sp_GetApplicationID();

这样你可以最小化迁移时的代码改动,同时实现和ADS相同的功能。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 06:22:39