|PostgreSQL Reference Manual - Volume 1 - SQL Language Reference|
by The PostgreSQL Global Development Group
Paperback (6"x9"), 716 pages
RRP £32.00 ($49.95)
Sales of this book support the PostgreSQL project! Get a printed copy>>>
6.10.1 Declaration of Array Types
To illustrate the use of array types, we create this table:
CREATE TABLE sal_emp ( name text, pay_by_quarter integer, schedule text );
As shown, an array data type is named by appending square brackets
) to the data type name of the array elements. The
above command will create a table named
sal_emp with a column of type
one-dimensional array of type
pay_by_quarter), which represents the
employee's salary by quarter, and a two-dimensional array of
represents the employee's weekly schedule.
The syntax for
CREATE TABLE allows the exact size of
arrays to be specified, for example:
CREATE TABLE tictactoe ( squares integer );
However, the current implementation does not enforce the array size limits--the behavior is the same as for arrays of unspecified length.
Actually, the current implementation does not enforce the declared
number of dimensions either. Arrays of a particular element type are
all considered to be of the same type, regardless of size or number
of dimensions. So, declaring number of dimensions or sizes in
CREATE TABLE is simply documentation, it does not
affect run-time behavior.
An alternative syntax, which conforms to the SQL standard, may
be used for one-dimensional arrays.
pay_by_quarter could have been defined
pay_by_quarter integer ARRAY,
This syntax requires an integer constant to denote the array size. As before, however, PostgreSQL does not enforce the size restriction.
|ISBN 0954612027||PostgreSQL Reference Manual - Volume 1 - SQL Language Reference||See the print edition|