Прямая работа с БД ORBISMap Server

ORBISMap Server работает на базе СУБД PostgreSQL и, в отличие от многих других систем, поддерживает прямую работу пользователя с БД. Прямая работа с БД - это выполнение команд SQL вручную (с помощью стандартной утилиты psql), с помощью специализированного ПО (Navicat, PgAdmin) или с помощью ПО для работы с геоданными (QGis, ArcGis). Под поддержкой прямой работы понимается способность системы автоматически актуализировать свое состояние после изменений в БД.

Примечание: Следует помнить, что прямая работа с БД требует от пользователя определенной квалификации. Текст этой статьи также написан в расчете на это.
Внимание: Следует помнить, что ряд изменений могут полностью нарушить работу системы.
Примечание: Для подключения к PostgreSQL следует использовать логин и пароль пользователя системы.

Система способна отслеживать и обрабатывать следующие изменения:

Например, при создании схемы и таблицы будет создана карта и слой в ней с соответствующими кодами. Следующий код показывает, как создать копию слоя в своей карте в консоли psql:

CREATE SCHEMA my_map;
CREATE TABLE my_map.parks_copy AS SELECT * FROM other_map.parks;

В результате будет создана карта с кодом my_map, а в ней слой с кодом parks_copy. Пользователь, от которого выполнялись эти команды, получит полные права доступа для новых сущностей, а права доступа для остальных пользователей будут унаследованы согласно общим правилам (см. раздел Права доступа).

Отслеживание изменений ведется автоматически на уровне транзакции. Это означает, что при откате транзакции изменения в системе также не будут применены. Однако между фактом проводки (коммита) транзакции и реальной актуализацией метаданных допустима задержка в пределах от 1 до 30 секунд.

Также при прямой работе с БД учитывается изменение данных и ведется инвалидация кеша. Допустим, настроена публичная карта, и мы видим некоторый ее участок

Можно подключиться к БД с помощью QGis

выбрать слой

найти

и удалить лишний объект

После этого, если обновить страницу с этим участком карты, можно наблюдать изменения

Структурно, база данных состоит из нескольких схем:

Поскольку не все изменения поддаются отслеживанию, эта система имеет ряд существенных ограничений: