This section describes on which relation types and for which data types VCIs can be created.
VCIs cannot be created on some relation types.
The ON clause of CREATE INDEX described in "11.1.3.3 Creating a VCI" cannot specify relations on which VCIs cannot be created.
Relations on which VCIs can be created
Normal tables
UNLOGGED TABLEs
Relations on which VCIs cannot be created
Materialized views
Temporary tables
Views
Temporary views
Foreign tables
VCIs cannot be created for some data types.
The column specification of CREATE INDEX described in "11.1.3.3 Creating a VCI" cannot specify a column with data type on which VCIs cannot be created.
Category | Data type | Supported by VCI? |
---|---|---|
Numeric | smallint | Y |
integer | Y | |
bigint | Y | |
decimal | Y | |
numeric | Y | |
real | Y | |
double precision | Y | |
serial | Y | |
bigserial | Y | |
Monetary | money | Y |
Character | varchar(n) | Y |
char(n) | Y | |
nchar | Y | |
nvarchar(n) | Y | |
text | Y | |
Binary | bytea | Y |
Date/time | timestamp | Y |
timestamp with time zone | Y | |
date | Y | |
time | Y | |
time with time zone | Y | |
interval | Y | |
Boolean | boolean | Y |
Geometric | point | N |
line | N | |
lseg | N | |
box | N | |
path | N | |
polygon | N | |
circle | N | |
Network address | cidr | N |
inet | N | |
macaddr | N | |
macaddr8 | N | |
Bit string | bit(n) | Y |
bit varying(n) | Y | |
Text search | tsvector | N |
tsquery | N | |
UUID | uuid | Y |
XML | xml | N |
JSON | json | N |
jsonb | N | |
Range | int4range | N |
int8range | N | |
numrange | N | |
tsrange | N | |
tstzrange | N | |
daterange | N | |
Object identifier | oid | N |
regproc | N | |
regprocedure | N | |
regoper | N | |
regoperator | N | |
regclass | N | |
regtype | N | |
regconfig | N | |
regdictionary | N | |
pg_lsn type | pg_lsn | N |
Array type | - | N |
User-defined type (Basic type, enumerated type, composite type, and range type) | - | N |