Почему Postgresql должен заключать в кавычки имя столбца при создании индекса gin? - PullRequest
0 голосов
/ 20 ноября 2018

На postgres я запускаю

CREATE INDEX gin_index_position_on_players ON public.players USING gin (position gin_trgm_ops);

Затем я проверяю indexdef этой таблицы,

select *
from pg_indexes
where tablename = 'players';

И результат для ранее созданного индекса:

CREATE INDEX gin_index_position_on_players ON public.players USING gin ("position" gin_trgm_ops)

Кто-нибудь знает, почему Постгрес обернул position?

Думаю, я уже исследовал:

  1. Зарезервированные ключевые слова: postgres имеет некоторые «зарезервированные ключевые слова» и защищает их, оборачивая их -> не похоже, что name упакован.

  2. Встроенные функции: postgres упаковывает своивстроенные функции (например, положение) -> char_length не упакован

1 Ответ

0 голосов
/ 20 ноября 2018

В случае сомнений прочитайте откровенно исчерпывающие руководства.

https://www.postgresql.org/docs/current/sql-keywords-appendix.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...