Подтвердить что ты не робот

PostgreSQL: Можете ли вы создать индекс в определении CREATE TABLE?

Я хочу добавить индексы к некоторым столбцам в таблице создания. Есть ли способ добавить их в определение CREATE TABLE или мне нужно добавить их после этого с помощью другого запроса?

CREATE INDEX reply_user_id ON reply USING btree (user_id);
4b9b3361

Ответ 1

Кажется, что нет никакого способа указать индекс в синтаксисе CREATE TABLE. Однако PostgreSQL создает индекс для уникальных ограничений и первичных ключей по умолчанию, как описано в это примечание:

PostgreSQL автоматически создает индекс для каждого уникального ограничения и ограничения первичного ключа для обеспечения уникальности.

Кроме этого, если вы хотите не уникальный идентификатор, вам нужно будет создать его самостоятельно в отдельном запросе CREATE INDEX.

Ответ 2

Нет.

Однако вы можете создавать индексы unique в создании, но это потому, что они классифицируются как ограничения. Вы не можете создать "общий" индекс.