使用查询工具在pgAdmin 4中查询时设置默认模式

Sub*_*lil 4 postgresql pgadmin

每当我必须执行sql命令时,pgAdmin 4我都必须附加schema_name表格。例如:-

SELECT * FROM my_schema.users //where myschema is schema name
ORDER BY id ASC  
Run Code Online (Sandbox Code Playgroud)

pgAdmin 4通过预先设置默认架构,有没有办法在没有架构名称的情况下执行sql命令。

像这样的东西

SELECT * FROM programme
ORDER BY id ASC 
Run Code Online (Sandbox Code Playgroud)

-不使用表指定架构名称。

有没有一种方法可以pgAdmin 4在SQL工具中设置默认架构以 进行查询?

Łuk*_*ski 5

您可以通过2种方式来做到这一点:

SET search_path = my_schema, "$user", public; -- For current session only

ALTER ROLE your_role SET search_path = my_schema, "$user", public; -- Persistent, for role
Run Code Online (Sandbox Code Playgroud)

您也可以为整个数据库设置角色,方法与设置角色相同。

编辑:只是为了解释它的作用-它将改变位置和顺序,Postgres将搜索与没有以架构名称作为前缀的对象标识符匹配的对象。