Получить вложенные ключи hstore postgres

Я пытаюсь получить вложенные ключи следующих двух строк, сохраненных как hstore в postgresdb:

{"values"=>"{\"60\"=>[\"hallo\"], \"63\"=>[\"9\"], \"62\"=>[\"Nein\", \"Vielleicht\"], \"61\"=>[\"Ja\"]}", "comment"=>"[\"hmm\"]"}"},
{"values"=>"{\"60\"=>[\"test?\"], \"63\"=>[\"9\"], \"62\"=>[\"Ja\", \"Nein\"], \"61\"=>[\"Ja\"]}", "comment"=>"[\"kommentar23\"]"}"}

чтобы было ясно, как я могу получить все ключи/номера в sql?

Я попробовал функцию akeys и получил «значения», это нормально, это первый ключ, но я не знаю, как получить вложенные ключи? Я пробовал с подзапросами без успеха.

любой совет?

Спасибо, Патрик


person Patrick Winkler    schedule 27.08.2013    source источник


Ответы (1)


Я бы сказал, что ваш hstore больше похож на искаженный JSON. Вы можете попробовать заменить => на : и разобрать его, например, с помощью модуля python json или, если вы используете 9.3, с нативными методами json.

Или вы можете получить skeys, снова преобразовать его в hstore и получить значения.

person Roman Pekar    schedule 28.08.2013