PGSuite: Инструменты PostgreSQL для легковесных web‑приложений

PGSuite - набор инструментов для создания легковесных web-приложений по архитектуре "Клиент-сервер" (HTML/JavaScript и PostgreSQL) без backend-слоя

Основная идея: современные вычислительные мощности для небольших проектов избыточны, это позволяет отказаться от backend-части приложений


Архитектура


Основной принцип:

Only PostgreSQL, only hardcore !



  • Средний уровень отсутствует, HTML/JavaScript взаимодействует с базой напрямую через ORM, хранимые процедуры и SQL-запросы
  • Бизнес-логика реализована средствами СУБД PostgreSQL
  • Доступ пользователя определяется ограничениями в базе данных на основе access policy
  • Полное журналирование (логгирование) всех изменений с возможность их просмотра
  • Отчеты создаются в базе данных и в бинарном виде (bytea) передаются в web-браузер
  • WEB-страницы шаблонизируются с использованием SQL


Компоненты


PGHistPGHist ведет историю изменений таблиц и позволяет получить лог(аудит) изменений по строкам, список изменений по полям и таблицу на момент времени в прошлом (версионирование)
PGXLSPGXLS - SQL-схема с процедурами для создания файлов в формате Excel(.xlsx), имеет 2 режима работы: выгрузка данных по SQL-запросу и построение отчетов
PGHtmlPGHtml - утилита командной строки, создает HTML, JS, JSON и другие типы файлы с использованием данных, получаемых из базы данных PostgreSQL
PGORMPGORM позволяет подключаться к PostgreSQL с web-страниц, выполнять SQL-запросы, использовать ORM и получать файлы
PG1CPG1C - расширение PostgreSQL, встраивает информационную базу 1С в PostgreSQL - создает и обновляет таблицы идентичные 1С. SQL-запросы просто копируются из 1С


GitHub


Исходный код выложен в репозитории GitHub


Лицензионное соглашение


Лицензионное соглашение

Свидетельство о регистрации