From: | Nikolay Samokhvalov <samokhvalov(at)gmail(dot)com> |
---|---|
To: | "Dmitry E(dot) Oboukhov" <unera(at)debian(dot)org> |
Cc: | pgsql-ru-general <pgsql-ru-general(at)postgresql(dot)org> |
Subject: | Re: [pgsql-ru-general] индекс по полю JSON без функции |
Date: | 2013-09-25 16:06:01 |
Message-ID: | CANNMO++17YsLxEUH6xPveUa5MNOw1Bw+fFyX0Qf+6yijWFgwyg@mail.gmail.com |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-ru-general |
что, если использовать тип данных timestamp without timezone?
2013/9/24 Dmitry E. Oboukhov <unera(at)debian(dot)org>
>
> есть в табличке JSON-чик
>
> там неопределенный набор полей в хеше поэтому JSON
> но поле time в JSON есть почти всегда
>
> хочу построить по нему индекс
>
> CREATE INDEX ON "table" (("field"->>'time'))
> WHERE ("field"->>'time') IS NOT NULL;
>
>
> но поскольку в SQL запросах хочется оперировать полем time именно как
> TIMESTAMP (а там CHECKER еще накинут на то что проверяет что time
> это либо null либо timestamp).
> то соответственно хочется индекс строить по типу timestamp (иначе
> после приведения этот индекс не используется)
>
> CREATE INDEX ON "table" ((("field"->>'time')::timestamp(0)))
> WHERE ("field"->>'time') IS NOT NULL;
>
> ругается что должно быть immutable.
>
> функцию выделенную делать не хочется.
>
> как быть?
> --
>
> . ''`. Dmitry E. Oboukhov
> : :’ : email: unera(at)debian(dot)org jabber://UNera(at)uvw(dot)ru
> `. `~’ GPGKey: 1024D / F8E26537 2006-11-21
> `- 1B23 D4F8 8EC0 D902 0555 E438 AB8C 00CF F8E2 6537
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.10 (GNU/Linux)
>
> iEYEAREDAAYFAlJCDJYACgkQq4wAz/jiZTerDwCgwQ6czkLG8RhabD5tM3WAMHoo
> yiYAnjFD5Wfz6h0g5nOI5EPCARvBQAHC
> =JLzA
> -----END PGP SIGNATURE-----
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Sergey Konoplev | 2013-09-25 20:36:51 | Re: [pgsql-ru-general] индекс по полю JSON без функции |
Previous Message | Dmitry E. Oboukhov | 2013-09-24 22:42:34 | Re: индекс по полю JSON без функции |