Например, используя только механизм привилегий в базе данных, можно предоставить доступ к данным (таблицам, видам представлений и хранимым процедурам) по протоколу HTTP. При этом нет необходимости кодирования такой трансляции и обычно достаточно одной команды GRANT, чтобы таблица стала доступна по REST API. Имеется возможность настроить доступ по токену (JWT) и организовать «multitenancy» через использование динамической безопасности на уровне строк (Row Level Security).
Архитектурно PostgREST подталкивает к данно-ориентированной архитектуре (Data-Oriented Architecture), где микросервисы не сохраняют состояния сами, а используют для этого единым доступом к данным (Data Access Layer).
Среди изменений в новой версии:
- В кэш схемы хранения добавлены секционированные (партицированные) таблицы, что позволило для подобных таблиц встраивать операции UPSERT и INSERT в ответ Location, выполнять запросы OPTIONS и реализовать поддержку OpenAPI.
- Через RPC POST разрешено вызывать функции с одним неименованным параметром.
- Разрешено вызывать функции с одним JSON-параметром без заголовка
«Prefer: params=single-object». - Разрешено загружать в функции данные с типом bytea, используя запросы с «Content-Type: application/octet-stream».
- Разрешено загружать в функции текст, используя запросы с «Content-Type: text/plain».
- Добавлена поддержка экранирования символов внутри двойных скобок, например, «?col=in.(«Double»Quote»), ?col=in.(«Back\slash»)».
- Предоставлена возможность фильтрации ресурсов первого уровня на основе встроенных фильтров («/projects?select=*,clients!inner(*)&clients.id=eq.12».
- В операторе «is» разрешено использование значения «unknown».
- Обеспечена совместимость с PostgreSQL 14 и прекращена поддержка PostgreSQL 9.5.
Источник: http://www.opennet.ru/opennews/art.shtml?num=56245