PostgreSQL
Example of a custom aggregate in PostgreSQL
Yesterday I switched my development environment to PostgreSQL 8.4, and so today I foolishly used the PostgreSQL 8.4 manual while I was developing, without thinking that I might be using some new functionality. Silly me!
What I wanted to do was to convert a column of words into a comma-delimited list (for readability, not for export), to get output something like this:
id | tags -----+---------------------------------------------- 141 | DAViCal, FOSS, Programming, CalDAV, Releases 138 | Family, Life, Kids 137 | Kids, Family, Rants 136 | Life, FOSS, Debian, lca 135 | Releases, FOSS, Packages, Debian, DAViCal
Where the table has two columns 'id' and 'tag', like:
id | tag -----+------------- 141 | Releases 141 | Programming 141 | CalDAV 141 | FOSS 141 | DAViCal 138 | Kids 138 | Life 138 | Family 137 | Kids 137 | Family 137 | Rants 136 | Debian 136 | lca 136 | Life 136 | FOSS 135 | Packages 135 | Releases 135 | DAViCal 135 | Debian 135 | FOSS
I looked at this and thought: that's just the job for an aggregate function! It's like sum(), except it concatenates!
Recent comments
4 weeks 2 days ago
4 weeks 2 days ago
4 weeks 3 days ago
5 weeks 1 hour ago
5 weeks 1 hour ago
5 weeks 1 day ago
5 weeks 1 day ago
5 weeks 1 day ago
5 weeks 1 day ago
5 weeks 3 days ago