Summary
string_agg is a PostgreSQL built-in aggregate function in the Aggregate Functions group. PostgreSQL’s system catalog (pg_proc) describes it as: “concatenate aggregate input into a string”.
Signature
string_agg has 2 documented overloaded forms:
string_agg(text, text) → text
string_agg(bytea, bytea) → bytea
Argument and return types are taken from the pg_proc catalog; internal type names are shown using their readable SQL spellings (for example int4 is shown as integer). (Derived from the catalog — see the linked reference for the canonical documentation.)
Classification
- Category: Aggregate Functions
- Kind: Aggregate function
- Volatility: IMMUTABLE — Marked IMMUTABLE — it always returns the same result for the same arguments and can be used in indexes and other contexts that require immutability.
- Returns:
bytea, text
Example
Illustrative form (replace placeholder values with your own data):
SELECT string_agg(col) FROM your_table;
The example above is illustrative and is meant to show calling syntax only; consult the linked PostgreSQL documentation for exact semantics, edge cases and accepted argument combinations.
Version applicability
string_agg is present across the surveyed releases (PostgreSQL 15, 16). On older major versions, behaviour may differ in detail — always check the documentation for the version you run.
Related & references
Reference: PostgreSQL documentation — Aggregate Functions.