table function json_each Aufrufmöglichkeiten

Hallo,

ich bin gestern zufällig über einen Effekt gestolpert:

Beispiel json doku

select * from json_each('{"a":"foo", "b":"bar"}')

schön.

Eigene Bastelei

select json_each(tdata->'tags') gtag from (
  select '{"tags": {"type":"peer","stat":"new","cfg":"latest"}}'::json as tdata) x

Ausgabe

gtag
==============
(type,"""peer""")
(stat,"""new""")
(cfg,"""latest""")

Gut, so kann man es nicht aufrufen. Interessant aber:

  • dass es aufrufbar ist
  • dass offenbar absichtlich nur eine Spalte erzwungen wird (statt einen Fehler zu produzieren)
  • dass diese Verdoppelung der Anführungszeichen erfolgt

Frage: Gibt es eine weitere Form, diese Funktion aufzurufen?