🐘 PostgreSQL Intermediate

How do you use ARRAY data type in PostgreSQL?

Answer

PostgreSQL supports multi-dimensional arrays for any data type. Declare: tags TEXT[], scores INTEGER[]. Insert: INSERT INTO posts (tags) VALUES (ARRAY['postgres', 'sql', 'database']); or VALUES ('{\"postgres\",\"sql\"}'). Access element (1-based): tags[1]. Slice: tags[1:2]. Append: array_append(tags, 'newtag'). Contains: tags @> ARRAY['postgres'] (does tags contain 'postgres'?). Overlap: tags && ARRAY['sql', 'nosql']. Unnest to rows: SELECT unnest(tags) FROM posts;. Array length: array_length(tags, 1). Index: CREATE INDEX ON posts USING GIN(tags); for @> and && queries. Arrays are useful for storing sets of related values without a junction table.