Slide 1

Slide 1 text

Москва, 14.10.2015 PostgreSQL Николай Самохвалов Российское сообщество пользователей PostgreSQL #PostgreSQLRussia Встреча в компании ЯНДЕКС [email protected] Twitter: @postgresmen hashtag: #PostgreSQLRussia

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

Идея: ⋄ знание о схеме БД (системные каталоги, INFORMATION SCHEMA) → автоматическое создание RESTful HTTP API ⋄ избавиться от «толстого» middleware, минимизировать маршаллинг данных ⋄ унифицировать протокол общения (JSON) между сервером и различными клиентами (Web app, Mobile apps, browser extensions, etc)

Slide 4

Slide 4 text

Шаг 1. Скачайте Postman (и посоветуйте скачать друзьям)

Slide 5

Slide 5 text

Шаг 2. Освежите знания HTTP/1.1 ● PUT vs POST vs PATCH ● Accept, Range, etc ● HTTP Auth «Поиграться»: https://www.publicapis.com/, http://www.programmableweb.com/apis/directory

Slide 6

Slide 6 text

Шаг 3. Установите PostgREST - Скачайте и запустите: ./postgrest --db-host localhost --db-port 5432 \ --db-name my_db --db-user postgres \ --db-pass foobar --db-pool 200 \ --anonymous postgres --port 3000 \ --v1schema public - Или поставьте в облаке Heroku https://github.com/begriffs/postgrest-heroku

Slide 7

Slide 7 text

Сам API - Основа — представления (могут быть updatable) в схеме (начинаем со схемы "1") - При вызове: Accept: application/json; version=1 - Примеры вызовов: GET /people GET /people?age=lt.18 GET /people?age=lt.18&is_male=eq.true GET /people?order=age.desc,height.asc GET /stuff?some_json_col->a->>b=eq.2

Slide 8

Slide 8 text

Советы - Используйте средство для миграций схем БД - sqitch http://sqitch.org/ – хорош (TDD included!) - sem https://github.com/mbryzek/schema-evolution-manager – выбор Олега Царёва :) - Используйте SSL - Пересмотрите ограничения целостности - Аккуратнее с PATCH! - Не бойтесь Haskell ;)

Slide 9

Slide 9 text

Участвуйте в развитии! - http://postgrest.com, Github - Чат: https://gitter.im/begriffs/postgrest - “Scrum”: https://waffle.io/begriffs/postgrest

Slide 10

Slide 10 text

Русскоязычное PostgreSQL-сообщество Присоединяйтесь СЕЙЧАС! ● http://PostgreSQLRussia.org ● Gitter-чат: http://postgres.chat ● Twitter: @postgresmen ● Youtube-канал PostgreSQLRussia ● http://facebook.com/groups/PostgreSQL ● Встречи ● Конференции ● Опросы ● Обмен опытом

Slide 11

Slide 11 text

Кто использует в России?

Slide 12

Slide 12 text

АНОНСЫ 2015.11.03 — #PostgreSQLRussia в Mail.ru Тема: Миграция с Oracle на Postgres - Bruce Momjian - опыт крупных российских компаний - экспертное мнение от PostgresPro и PostgreSQL-Consulting - трансфер от Крокуса для тех, кто идёт на Highload++ :-) 3-5 февраля 2016 — PgConf.ru (Москва) Лето 2016 — PgDay.ru (СПб)

Slide 13

Slide 13 text

Действует только для участников PostgreSQLRussia.org PostgreSQL-Consulting.com: Администрирование, тюнинг, обучение Скидка 15% (с 8.09.2015 по 15.10.2015) — кодовое слово MEETPG15 OKmeter.io: умный онлайн-мониторинг Linux-серверов с установкой за 1 минуту Скидка 20% (с 8.09.2015 по 08.03.2016) — кодовое слово OKPOSTGRES Highload++: лидирующая технологическая конференция, 2000 участников, много докладов по PostgreSQL, 2 и 3 ноября 2015 Скидка 10% — кодовое слово OnlyPostgreSQL Партнёры

Slide 14

Slide 14 text

Николай Самохвалов [email protected] Twitter: @postgresmen Skype: postgresmen http://PostgreSQLRussia.org http://Postgresmen.ru Спасибо!