有没有一种方法可以预选Postgres中的模式?我的数据库结构如下:
我想在编写查询之前先选择“公共”模式,这样我在进行api调用时不必在每个查询中添加.public。
我正在使用express,这是我的连接方式:
const client = new Client({
user: "postgres",
password: "1234",
host: 'localhost',
port: 5432,
database: 'main'
});
很抱歉,如果问题不清楚。谢谢大家的帮助!
答案 0 :(得分:0)
您要寻找的是search_path setting,它是每个连接的,用户控制的设置。解析非模式限定的表名时,将检查search_path中的每个模式,并使用第一个现有表。创建不带模式限定符的表时,该表将放置在search_path
中第一个现有模式中。请注意,public
已经在默认的search_path中,这就是create table foo(); select * from foo;
做正确的事情的原因(在两种情况下,除非您的search_path前面有其他现有的模式,否则解析为public.foo
)