Принимать сложные параметры запроса в виде JSON - полезно, хранить его в базе - удобно, но работа с ним в рамках SQL-запроса зачастую вызывает затруднения.Сегодня столкнулся с очередным нетипичным вариантом использования - "перекладыванием" значений из JSON-строк в столбцы.Давайте сделаем это попроще. Читать далее
В PostgreSQL есть "волшебный" тип индекса GiST, который позволяет быстро искать разные сложные вещи - от интервалов до массивов и даже реализовывать полнотекстовый поиск.Про его внутреннее устройство и возможности подробно рассказывал Егор Рогов, а я в статье "PostgreSQL Antipatterns: работаем с…
Недавно попался на глаза примерно такой кусок запроса, и тут прекрасно примерно все:• множество чтений из CTE (хоть и единственной записи, но все же);• извлечение по каждому ключу текста с раскастовкой в jsonb;• извлечение каждого отдельного json-ключа в каждое отдельное одноименное поле;• "ручное" преобразование текстового представления массива в json в текстовое представление PostgreSQL.А как - правильно? Читать далее
Я уже не раз поднимал в статьях тему [не]эффективной работы с json[b] в PostgreSQL - и как его лучше превращать в выборку, и как можно "транспонировать". Сегодня же рассмотрим некоторые возможности по его генерации на стороне базы. Читать далее