Как заставить PostgreSQL/pgAdmin вести себя немного лучше с учетом регистра?

Я разработал набор таблиц в pgAdmin. Я дал такие имена, как Products и ProductRID. Я был очень удивлен, когда я начал запрашивать эту таблицу только для того, чтобы найти такой запрос, который дал неизвестное отношение:

select * from Products

По-видимому, правильный способ доступа к этому

select * from "Products"

что очень некрасиво. Я могу переименовать таблицы во все строчные буквы, чтобы запрашивать без кавычек, но тогда это выглядит некрасиво. Есть ли какая-либо настройка, чтобы он сохранял регистр, но вел себя без учета регистра?


person Earlz    schedule 09.09.2010    source источник
comment
Это может быть некрасиво, но это стандартное поведение большинства баз данных. Стандарты SQL даже придумали двойные кавычки для решения этой проблемы.   -  person Frank Heikens    schedule 09.09.2010
comment
Стандарт @Frank для большинства, но не для Microsoft SQL Server, я полагаю   -  person Earlz    schedule 09.09.2010
comment
Да, SQL Server включен: msdn.microsoft.com/en-us/library/ ms174393.aspx   -  person Frank Heikens    schedule 09.09.2010


Ответы (2)


Вы можете проверить относительную вики, чтобы получить точный ответ

Почему мои имена таблиц и столбцов не распознаются в моем запросе? Почему не сохраняется заглавная буква?

Надеюсь, это проясняет.

person Igor    schedule 09.09.2010
comment
хе. так это по замыслу? - person Earlz; 09.09.2010

Нет, волшебной настройки нет. Лучший способ справиться с чувствительностью к регистру — не цитировать отношения при их создании. Если вы только начинаете разрабатывать схемы, переименуйте их (и имена столбцов) в нижний регистр. Проблема «выглядит некрасиво» исчезнет, ​​потому что в ваших запросах вы все еще можете делать

SELECT * FROM Products

и это будет работать нормально.

person Scott Bailey    schedule 09.09.2010