Список докладов конференции PgConf.Russia 2017

JSON, JSONB, JSQuery

Иван Панченко
Postgres Professional, заместитель генерального директора

В 1994 г. окончил физический факультет МГУ. Кандидат физико-математических наук (1997г). C 1996 года занимается разработкой сложных высокопроизводительных систем для бизнеса. Использует PostgreSQL с 1998 г. Руководил разработкой контентных проектов в Рамблере, был директором по разработкам в Стек Груп, техническим директором социальной сети Мой Мир. Разработчик Rambler Media, kassir.ru, портала ВШЭ и других интернет порталов и информационных систем для бизнеса.

Мастер-класс рассказывает о различных практических паттернах использования JSON и связанной с ним функциональности в PostgreSQL. Речь пойдет о хранении данных в формате JSON, извлечении, изменении и поиске этих данных, возможностях, которые JSON в обычных SQL запросах, и использовании JSON в хранимых процедурах на различных языках. Ряд задач можно будет решить в предоставленных виртуальных машинах.

Docker

docker run --rm -p 127.0.0.1:9000:5432 waaeer/semitutorial

VirtualBox

Образ виртуальной машины: json-tutorial96.ova В виртуалку заходить по ssh пользователем json, пароль такой же, база называется также, т.е. просто набирайте psql.

Руками

Установка расширения Jsquery

git clone https://github.com/postgrespro/jsquery.git
cd jsquery
make USE_PGXS=1
sudo make USE_PGXS=1  install

Установка расширения PLv8

apt -y install libv8-dev
wget -c https://github.com/plv8/plv8/archive/v1.4.7.tar.gz
tar -xzf v1.4.7.tar.gz
cd plv8-1.4.7
sudo make install

Данные

companies.zip
create table company(js jsonb);
copy company from 'companies.json' csv delimiter E'\t' quote E'\r';

Справочные материалы

Слайды