2
这是PostgreSQL的默认行为是搜索路径,像这样:Postgres的架构问题
SHOW search_path;
search_path
--------------
"$user",public
有没有办法让它所以“$用户”不区分大小写?
比如我有一个用户TP1和架构TP1 ......我希望他们都被看作是“平等”
这甚至可能吗?
这是PostgreSQL的默认行为是搜索路径,像这样:Postgres的架构问题
SHOW search_path;
search_path
--------------
"$user",public
有没有办法让它所以“$用户”不区分大小写?
比如我有一个用户TP1和架构TP1 ......我希望他们都被看作是“平等”
这甚至可能吗?
永远不要创建区分大小写的东西,期间。永远。它最终会令人困惑,并会强制你在使用它们时引用它们。你可以确定你的东西不区分大小写,根本不使用双引号。这就像是Pg的基本规则。
总之没有你不能,但你可以添加到你的search_path。
test=# create schema "ECARROLL";
CREATE SCHEMA
test=# create table "ECARROLL".foo (foobar int);
CREATE TABLE
test=# select * from foo;
ERROR: relation "foo" does not exist
如果你愿意,你可以硬编码的其他模式:SET search_path TO "$user","ECARROLL",public;
您可以脚本不区分大小写的命名模式的查询和设置他们在脚本环境。
test=# SELECT schema_name FROM information_schema.schemata WHERE schema_name ILIKE current_user;
schema_name
-------------
ECARROLL