Collection Types

Collection types are special generic types used to group homogeneous or heterogeneous data.

type array

Arrays represent a one-dimensional homogeneous ordered list.

Array indexing starts at zero.

With the exception of other array types, any type can be used as an array element type.

An array type is created implicitly when an array constructor is used:

db> 
SELECT [1, 2];
{[1, 2]}

The syntax of an array type declaration can be found in this section.

See also the list of standard array functions and generic functions such as len().

type tuple

A tuple type is a heterogeneous sequence of other types.

Tuple elements can optionally have names, in which case the tuple is called a named tuple.

Any type can be used as a tuple element type.

A tuple type is created implicitly when a tuple constructor is used:

db> 
SELECT ('foo', 42);
{('foo', 42)}

Two tuples are equal if all of their elements are equal and in the same order. Note that element names in named tuples are not significant for comparison:

db> 
SELECT (1, 2, 3) = (a := 1, b := 2, c := 3);
{true}

The syntax of a tuple type declaration can be found in this section.

Collection type introspection.