首页 > 解决方案 > 在 Postgres 函数中获取当前模式名称

问题描述

我正在尝试在 Postgres pgsql 中编写一个函数,我需要在其中捕获在变量中创建该函数的模式名称,比如说函数中的 VAR,然后“将 search_path 设置为 VAR”,然后继续函数中的逻辑,我的问题是如何以编程方式将架构名称填充到函数正文中的架构名称到一个变量中,然后使用该变量将 search_path 设置为当前架构?还有其他方法吗?

谢谢

标签: postgresqlfunctionvariablesschemaplpgsql

解决方案


Postgres 没有当前模式。但是你可以设置search_path每个功能 - 比如

CREATE OR REPLACE FUNCTION foo()
RETURNS void AS $$
BEGIN
  ...
END
$$ LANGUAGE plpgsql SET search_path = 'xxx';

推荐阅读