PostgreSQL: ¿Puede crear un índice en la definición de CREAR TABLA?


Quiero añadir índices a algunas de las columnas de una tabla en la creación. ¿Hay forma de agregarlos a la definición de CREAR TABLA o tengo que agregarlos después con otra consulta?

CREATE INDEX reply_user_id ON reply USING btree (user_id);
Author: Xeoncross, 2011-06-05

2 answers

No parece haber ninguna forma de especificar un índice en la sintaxis CREATE TABLE. Sin embargo, PostgreSQL crea un índice para restricciones únicas y claves primarias por defecto, como se describe en esta nota :

PostgreSQL crea automáticamente un índice para cada restricción única y restricción de clave primaria para imponer la unicidad.

Aparte de eso, si desea un índice no único, deberá crearlo usted mismo en una consulta CREATE INDEX separada.

 76
Author: rid,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-06-04 22:04:00

No.

Sin embargo, puede crear unique índices en el crear, pero eso es porque se clasifican como restricciones. No puedes crear un índice "general".

 15
Author: Bohemian,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-06-04 22:03:27