# ColumnIndexOptions interface · @imqueue/pg-sequelize

Source: https://imqueue.org/api/pg-sequelize/latest/pg-sequelize.columnindexoptions/
Published: 2026-08-01
Author: @imqueue maintainers (https://github.com/imqueue)
Package: @imqueue/pg-sequelize 4.2.0 — generated reference, not hand-written

The clauses of the `CREATE INDEX` statement that a [ColumnIndex](https://imqueue.org/api/pg-sequelize/latest/pg-sequelize.columnindex/) declaration turns into.

**Signature:**

```typescript
export interface ColumnIndexOptions 
```

## Remarks

Every field is optional in practice — both decorators take a `Partial` of this, and an empty object declares a plain btree index on the column. The names follow Postgres's own `CREATE INDEX` syntax, and the values of the raw-SQL fields are emitted as written.

## Properties


| Property | Modifiers | Type | Description |
| --- | --- | --- | --- |
| [collation](https://imqueue.org/api/pg-sequelize/latest/pg-sequelize.columnindexoptions.collation/) |  | string | Collation of the index key, where it differs from the column's own. |
| [concurrently](https://imqueue.org/api/pg-sequelize/latest/pg-sequelize.columnindexoptions.concurrently/) |  | boolean | Builds the index without locking writes out of the table. |
| [expression](https://imqueue.org/api/pg-sequelize/latest/pg-sequelize.columnindexoptions.expression/) |  | string | Indexes this SQL expression rather than the column. |
| [include](https://imqueue.org/api/pg-sequelize/latest/pg-sequelize.columnindexoptions.include/) |  | string\[\] | Extra columns to carry in the index without indexing them. |
| [method](https://imqueue.org/api/pg-sequelize/latest/pg-sequelize.columnindexoptions.method/) |  | [IndexMethod](https://imqueue.org/api/pg-sequelize/latest/pg-sequelize.indexmethod/) | Index method. Postgres uses `BTREE` when this is left out. |
| [name](https://imqueue.org/api/pg-sequelize/latest/pg-sequelize.columnindexoptions.name/) |  | string | Name of the index. |
| [nullsFirst](https://imqueue.org/api/pg-sequelize/latest/pg-sequelize.columnindexoptions.nullsfirst/) |  | boolean | `true` sorts nulls first, `false` sorts them last, and leaving it out follows Postgres. |
| [opClass](https://imqueue.org/api/pg-sequelize/latest/pg-sequelize.columnindexoptions.opclass/) |  | string | Operator class for the key. |
| [order](https://imqueue.org/api/pg-sequelize/latest/pg-sequelize.columnindexoptions.order/) |  | [SortOrder](https://imqueue.org/api/pg-sequelize/latest/pg-sequelize.sortorder/) | Sort direction of the index key. |
| [predicate](https://imqueue.org/api/pg-sequelize/latest/pg-sequelize.columnindexoptions.predicate/) |  | string | Restricts the index to the rows this SQL condition matches. |
| [safe](https://imqueue.org/api/pg-sequelize/latest/pg-sequelize.columnindexoptions.safe/) |  | boolean | Leaves an index that already exists alone rather than rebuilding it. |
| [tablespace](https://imqueue.org/api/pg-sequelize/latest/pg-sequelize.columnindexoptions.tablespace/) |  | string | Tablespace to build the index in, instead of the database default. |
| [unique](https://imqueue.org/api/pg-sequelize/latest/pg-sequelize.columnindexoptions.unique/) |  | boolean | Rejects duplicate values, enforcing uniqueness through the index. |

