The original relational model specifies that the values represented by columns within a table be an atomic piece of data, object-relational database systems such as PostgreSQL allow non-atomic values to be used in queries through data structures called arrays .

An array is a collection of data values referenced through a single identifier. This array may be a collection of values of a built-in data type or a user-defined data type, but every value in the array must be of the same type. Arrays can be accessed from a table through subscript notation via square brackets (e.g., my_array[0] ), and used as an array constant via curly braces within single quotes (e.g., '{value_one,value_two,value_three}' ).