Postgres Schema Issue - PullRequest
       10

Postgres Schema Issue

2 голосов
/ 01 марта 2010

Это поведение по умолчанию для PostgreSQL, это путь поиска, подобный так:

SHOW search_path;

search_path
--------------
"$user",public

Есть ли способ сделать так, чтобы "$ user" не учитывал регистр?

Например, у меня есть пользователь tp1 и схема TP1 ... Я бы хотел, чтобы они оба были одинаковыми

Возможно ли это вообще?

1 Ответ

2 голосов
/ 01 марта 2010

Никогда не создавайте с учетом регистра материал, точка. Когда-либо. Это в конечном итоге сбивает с толку и заставит вас ставить их в кавычки, когда вы их используете. Вы можете быть уверены, что ваши вещи не чувствительны к регистру, просто не используя двойные кавычки вообще. Это как кардинальное правило в стр.

Короче говоря, нет, вы не можете, но вы можете добавить в ваш путь поиска.

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...