Signature
array_append ( anyarray, anyelement ) → anyarrayParameters
| Parameter | Type | Description |
|---|---|---|
| array | anyarray | Array to append to |
| element | anyelement | Element to append (NULL is allowed) |
Examples
SELECT array_append(ARRAY[1,2,3], 4);{1,2,3,4}SELECT array_append(ARRAY['a','b'], 'c');{a,b,c}SELECT array_append(tags, 'new-tag') FROM posts WHERE id = 1;{existing,tags,new-tag}UPDATE sessions SET event_log = array_append(event_log, $1) WHERE session_id = $2;Appends an event string to the session's log array in-placeSELECT id, array_append(permissions, 'audit') AS updated_perms FROM roles WHERE 'admin' = ANY(permissions);Adds 'audit' permission to every role that already has 'admin'Avoid reading an array into application code, appending elements one by one in a loop, and writing the whole array back. Each round-trip is costly. Use `array_append` or `||` in a single UPDATE instead.
✓ Instead: UPDATE t SET arr = array_append(arr, $1) WHERE id = $2;
`array_append(arr, elem)` is equivalent to `arr || elem`. The `||` operator also handles array-to-array concatenation with `array_cat`.
UPDATE items SET tags = tags || 'featured' WHERE id = $1;Appends 'featured' to the tags array