尽管搜索路径不同,为什么 postgresql 中的表会在 public 模式中创建?
Why do tables in postgresql get created in public schema despite a different search path?
我正在尝试让特定角色只能访问特定架构。
我有架构 public 和架构 python。我想将角色的默认 search_path 设置为架构 python:
ALTER ROLE user2 SET search_path = python;
然而,当我尝试创建表时,它们仍然被放置在 public 架构中,我是否必须在每次创建表时都指定架构名称?
CREATE TABLE table ();
-- vs.
CREATE TABLE python.table ();
ALTER ROLE ... SET ...
下次登录时生效。要在当前会话中立即生效(仅),请使用 SET search_path TO myschema;
我正在尝试让特定角色只能访问特定架构。
我有架构 public 和架构 python。我想将角色的默认 search_path 设置为架构 python:
ALTER ROLE user2 SET search_path = python;
然而,当我尝试创建表时,它们仍然被放置在 public 架构中,我是否必须在每次创建表时都指定架构名称?
CREATE TABLE table ();
-- vs.
CREATE TABLE python.table ();
ALTER ROLE ... SET ...
下次登录时生效。要在当前会话中立即生效(仅),请使用 SET search_path TO myschema;