我在Postgres的一个数据库中使用多模式,例如
Postgres(instance)
MyDB
public
MySchema1
table1
table2
MySchema2
table1
table2
MySchema3
table1
table2
它对我的用户开放,我的用户将运行查询,例如User 1:
set search_path=MySchema1;
select * from table1,table2;
用户2:
set search_path=MySchema2;
select * from table1,table2;
用户3:
set search_path=MySchema3;
insert into table3 select * from MySchema1.table1,MySchema2.table2;
select * from table3;
我想显示正在运行的查询的当前模式,但pg_stat_activity只能显示数据库名称,而不能显示模式名称。
我希望当前架构(search_path)为
| 用户名|图式|查询| query |
| - -----|- -----|- -----| ------------ |
| 用户1| MySchema1| select * from table 1,table 2;||
| 用户2| MySchema2| select * from table 1,table 2;||
| 用户3| MySchema3|在表3中插入select * from MySchema1.table1,MySchema2.table2;||
1条答案
按热度按时间b4lqfgs41#
无法获取另一个数据库会话的参数的当前设置。
我建议你使用参数
application_name
:另一个数据库会话的
application_name
的当前设置可以很容易地从pg_stat_activity
进行查询。