更改用户的默认架构

Change default schema for user

create schema bla;

-- then create table table_name into this schema

然后我想更改用户的默认架构(用户是 postgres

我这样做:ALTER ROLE postgres SET search_path TO bla;(查询成功返回但没有结果)。

当我尝试 SELECT * FROM table_name 时出现错误 relation "table_name" does not exist

尽管 SELECT * FROM bla.table_name 工作正常。

我尝试更改用户的默认架构有什么问题?

我认为您需要为此重新登录。随着 ALTER USER ... SET you change

Session defaults for run-time configuration variables

也来自 ALTER ROLE SET manual:

Role-specific variable settings take effect only at login;

但不要将更改应用于当前会话。如果您想立即更改,请使用:

SET search_path TO bla;

它将在会话级别更改路径