PostgreSQL 9.3
предлага като чисти JSON функции, които могат да се използват за такива задачи, без да се дефинират нови функции или да се познават редица колони.
SELECT id, (k).key as year, (k).value as value FROM
(SELECT j->>'id' as id, json_each_text(j) as k
FROM (
SELECT row_to_json(tbl) as j FROM tbl)
as q)
as r
WHERE (k).key <> 'id';
http://sqlfiddle.com/#!15/1714b/13