PostgreSQL 设置会话变量
PostgreSQL set session variable
我的应用程序使用相同的凭据连接到 PostgreSQL 数据库(数据库提供程序要求...)
但是我需要识别哪些应用程序用户正在连接到数据库(例如,用于更新审计等)
我想知道是否有任何方法可以设置一些变量(生命仅限于会话),然后我可以通过 DDL 以某种方式读取。
** 编辑 **
我也做了一些实验,在连接字符串中使用 application_name 并在那里放置简单的用户登录 - 但这不是最优雅的方式...
SET application_name TO 'user_login';
select current_setting('application_name');
知道如何存档吗?
不要为此滥用 application_name
, there are custom variables ("customized options"):
SET my.app_user = 'user_login';
SELECT current_setting('my.app_user');
参见:
- User defined variables in PostgreSQL
我的应用程序使用相同的凭据连接到 PostgreSQL 数据库(数据库提供程序要求...) 但是我需要识别哪些应用程序用户正在连接到数据库(例如,用于更新审计等)
我想知道是否有任何方法可以设置一些变量(生命仅限于会话),然后我可以通过 DDL 以某种方式读取。
** 编辑 **
我也做了一些实验,在连接字符串中使用 application_name 并在那里放置简单的用户登录 - 但这不是最优雅的方式...
SET application_name TO 'user_login';
select current_setting('application_name');
知道如何存档吗?
不要为此滥用 application_name
, there are custom variables ("customized options"):
SET my.app_user = 'user_login';
SELECT current_setting('my.app_user');
参见:
- User defined variables in PostgreSQL