Re: аггреггирование в массив с именами столбиков
От | Dmitry E. Oboukhov |
---|---|
Тема | Re: аггреггирование в массив с именами столбиков |
Дата | |
Msg-id | 20110305200745.GC21363@apache.rbscorp.ru обсуждение исходный текст |
Ответ на | Re: [pgsql-ru-general] аггреггирование в массив с именами столбиков (Dmitriy Igrishin <dmitigr@gmail.com>) |
Список | pgsql-ru-general |
DI> Речь идёт о полуструктурированных данных. Самое лучшее решение здесь - DI> использование замечательного модуля hstore, например: DI> dmitigr=> create table test (id serial not null, fname text, lname text); DI> NOTICE: CREATE TABLE will create implicit sequence "test_id_seq" for serial DI> column "test.id: <http://test.id>" DI> CREATE TABLE DI> dmitigr=> insert into test(fname, lname) select 'dima', 'igrishin'; DI> INSERT 0 1 DI> dmitigr=> insert into test(fname, lname) select 'ivan', 'ivanov'; DI> INSERT 0 1 DI> dmitigr=> select hstore(test) from test; DI> hstore DI> ------------------------------------------------- "id"=>> "1", "fname"=>"dima", "lname"=>"igrishin" "id"=>> "2", "fname"=>"ivan", "lname"=>"ivanov" DI> (2 rows) очень интересно. но у меня сходу не работает: watcher_wwm=> select hstore(test) from test; ERROR: function hstore(test) does not exist СТРОКА 1:select hstore(test) from test; ^ ПОДСКАЗКА: No function matches the given name and argument types. You might need to add explicit type casts. оно с какой версии Pg доступно? DI> Надеюсь, суть ясна. DI> Подробности здесь - http://www.postgresql.org/docs/9.0/static/hstore.html ага, будем глядеть. тут еще интересный вопрос: есть ли поддержка прозрачного преобразования хешей в запросы и результатов в хеши на уровне драйвера DBD::Pg. С массивами-то оно есть, а вот например составные типы он так строками и оставляет. а если парсить каждую выборку, получается лучше на массивах и остаться DI> PS. В данном случае возможно преобразовать столбец DI> h из типа text[][] в hstore. -- . ''`. Dmitry E. Oboukhov : :’ : email: unera@debian.org jabber://UNera@uvw.ru `. `~’ GPGKey: 1024D / F8E26537 2006-11-21 `- 1B23 D4F8 8EC0 D902 0555 E438 AB8C 00CF F8E2 6537
Вложения
В списке pgsql-ru-general по дате отправления: