GROUP BY CUBE – experiences

PG 9.5 brought very useful addition to GROUP BY clause – CUBE. With CUBE you can get in very simple way aggregated results over all possible combinations of columns enlisted in CUBE. But everything has its price – so here are some experiences with CUBE....

How to get DDL for table from PostgreSQL

So many people in PostgreSQL forums and mail lists do not understand why the hell should someone need to get DDL for table directly in PL/pgSQL. Everyone keeps recommend pg_dump. Well if you are one of them just skip this text. On the other hand if you also have this...

Drop all versions of a function

Do you need to drop all existing versions of some function without knowing anything about parameters? Try this: do $$ declare _rec record; begin for _rec in select 'drop function if exists '||ns.nspname||'.'||p.proname||'('||pg_catalog.<tt...

Usage of arrays in aggregations

If you get to know them you will simply love them – I mean ARRAYs in PostgreSQL. And also in some situations you simply cannot live without them – at least in PostgreSQL. Here are some examples how to use them in real life. (still in TODO) Aggregations...