Defining PostgreSQL Table Indexes

The following properties are applicable to a PostgreSQL Table Indexes.

Tab

Section

Property

Description

Additional Properties

 

 

Physical Name

Displays the physical name of the table index

 

 

 

Type

Displays the table's index type

 

 

 

Is Unique

Specifies to allow only unique values in the table index. Clear this check box to allow non-unique values

Click New icon in property editors to create a new object to create a new index. Use the Enter filter text box to filter a very large list of indexes to quickly locate the one that you want to define.

 

 

Exclude

Prevents two rows from having the same values in a table, depending on the operator used

 

 

 

If Not Exists

Specifies if the table index already exists, no exception is thrown, and no action happens

 

 

 

Physical Only

Specifies whether to have the index appear in the physical model only. If you want the index to appear in the logical model as a key group, clear the check box

This option is unavailable when a primary or foreign key index is selected.

 

 

Generate

Generates SQL during forward engineering. Clear the check box if you do not want to generate SQL

 

 

 

Generate As Constraint

Indicates that when the index is generated, it will be generated as a constraint

 

Members

 

 

 

 

 

 

 

 

Column

Specifies the name of a column of the table

 

 

Collation

Specifies the name of the collation to use for the index

 

 

OpClass

Specifies the name of an operator class

 

 

Operator

Specifies the name of the operator

 

 

OpClass Parameter

Specifies the parameters for the operator class

 

 

Sort Order

Specifies the order in which index values are stored

Ascending: Indicates that the index values are sorted in ascending order

Descending: Indicates that the index values are sorted in descending order

Random: Indicates that the index values are sorted in random order

 

Nulls Order

Specifies the order in which null values are stored

Nulls FIRST: Specifies that nulls sort before non-nulls. This is the default when DESC is specified.

Nulls LAST: Specifies that nulls sort after non-nulls. This is the default when DESC is not specified

 

Column / Expression

Specifies the column expression on which the index is based

 

General

 

 

 

 

 

 

 

 

 

Index Options

Concurrent Build

Indicates that the index is built without taking any locks that prevent concurrent inserts, updates, or deletes on the table. Whereas a standard index build locks out writes (but not reads) on the table until it is done

 

Only

Indicates not to recurse creating indexes on partitions, if the table is partitioned

 

Access Method

Specifies the name of the index method to be used. Choices are btree, hash, gist, spgist, and gin. The default method is btree.

 

Unique Nulls

Indicates whether all values in a particular column(s) are unique

Distinct: Multiple NULLs are allowed

Not Distinct: Only one NULL value is allowed in the column(s) with the unique constraint or index

Where

Indicates that a partial index is to be created. A partial index is an index that contains entries for only a portion of a table, usually a portion that is more useful for indexing than the rest of the table. The expression used in the WHERE clause can refer only to columns of the underlying table, but it can use all columns, not just the ones being indexed.

 

Storage Options

Storage Parameters

The name of an index method-specific storage parameter.

 

Tablespace

Specifies the tablespace in which the new index is to be created. If not specified, default tablespace is consulted, or temp tablespaces if the table is temporary. Select an existing tablespace from the drop-down list or click New icon in property editors to create a new object to create one.

 

Constraint Options

Deferrable

Allows deferring constraint checks until the end of the transaction

Deferrable: Controls whether the index is deferrable.

Not Deferrable: Controls whether the index is not deferrable.

Deferred

Specifies that the constraint should initially be checked at the end of the transaction

Initially Deferred: Indicates that the index should be checked only at the end of the transaction.

Initially Immediate: Indicates that the index should be checked after each statement.

Also Include

Column

Allows adding non-indexed columns to the index, known as "payload." This optimization provides necessary columns directly from the index, avoiding table lookups.

 

  1. (Optional) Click the Comment tab and enter any comments that you want to associate with the object.
  2. (Optional) Click the Where Used tab to view where the object is used within the model.
  3. (Optional) Click the UDP tab to work with user-defined properties for the object.
  4. (Optional) Click the Notes tab to view and edit user notes.
  5. (Optional) Click the Extended Notes tab to view or edit user notes.
  6. Click Close.

    The table index is defined and the PostgreSQL Table Index Editor closes.