视图 pg_settings 提供对服务器运行时参数的访问。它本质上是 SHOW 和 SET 命令的替代接口。它还提供对每个参数的一些事实的访问,这些事实不能直接从 SHOW 获得,例如最小值和最大值。
您可以像查询任何其他视图一样查询此视图,因此您可以获得这样的值search_path:
SELECT setting FROM pg_settings WHERE name = 'search_path';
返回值为 a text,分隔符为', '。需要一些修补,以便您可以与table_schema此进行比较:
SELECT *
FROM information_schema.tables
WHERE table_schema = ANY (SELECT unnest(string_to_array(setting, ', '))
FROM pg_settings
WHERE name = 'search_path');
pg_settings
是一个系统视图,包含当前上下文中可用的所有配置选项及其值:您可以像查询任何其他视图一样查询此视图,因此您可以获得这样的值
search_path
:返回值为 a
text
,分隔符为', '
。需要一些修补,以便您可以与table_schema
此进行比较:这仍然只是完美的一半,就像
"$user"
在search_path
. 解决此问题的一种方法是将其替换为当前用户,例如在DBFiddle上查看所有这些工作。