Москва, 14.10.2015
PostgreSQL
Николай Самохвалов
Российское сообщество пользователей PostgreSQL#PostgreSQLRussia
Встреча в компании ЯНДЕКС
Twitter: @postgresmenhashtag: #PostgreSQLRussia
Идея: ⋄ знание о схеме БД (системные каталоги,
INFORMATION SCHEMA) → автоматическое создание RESTful HTTP API
⋄ избавиться от «толстого» middleware, минимизировать маршаллинг данных
⋄ унифицировать протокол общения (JSON) между сервером и различными клиентами (Web app, Mobile apps, browser extensions, etc)
Шаг 1. Скачайте Postman(и посоветуйте скачать друзьям)
Шаг 2. Освежите знания HTTP/1.1
● PUT vs POST vs PATCH
● Accept, Range, etc
● HTTP Auth
«Поиграться»: https://www.publicapis.com/,http://www.programmableweb.com/apis/directory
Шаг 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
Сам 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
Советы
- Используйте средство для миграций схем БД
- sqitch http://sqitch.org/ – хорош (TDD included!)
- sem https://github.com/mbryzek/schema-evolution-manager – выбор Олега Царёва :)
- Используйте SSL
- Пересмотрите ограничения целостности
- Аккуратнее с PATCH!
- Не бойтесь Haskell ;)
Участвуйте в развитии!
- http://postgrest.com, Github
- Чат: https://gitter.im/begriffs/postgrest
- “Scrum”: https://waffle.io/begriffs/postgrest
Русскоязычное PostgreSQL-сообществоПрисоединяйтесь СЕЙЧАС!
● http://PostgreSQLRussia.org
● Gitter-чат: http://postgres.chat
● Twitter: @postgresmen
● Youtube-канал PostgreSQLRussia● http://facebook.com/groups/PostgreSQL
● Встречи● Конференции● Опросы● Обмен опытом
Кто использует в России?
АНОНСЫ2015.11.03 — #PostgreSQLRussia в Mail.ru
Тема: Миграция с Oracle на Postgres- Bruce Momjian- опыт крупных российских компаний- экспертное мнение от PostgresPro и
PostgreSQL-Consulting- трансфер от Крокуса для тех, кто идёт на
Highload++ :-)
3-5 февраля 2016 — PgConf.ru (Москва)
Лето 2016 — PgDay.ru (СПб)
Действует только для участников 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
Партнёры
Николай Самохвалов
Twitter: @postgresmen
Skype: postgresmen
http://PostgreSQLRussia.orghttp://Postgresmen.ru
Спасибо!