Repolode
PostgREST

PostgREST/postgrest

Самостоятельный сервер, который превращает любую существующую базу данных PostgreSQL в RESTful API без написания кода бэкенда.

Звёзды
27,726
Форки
1,234
Открытые issues
410
Последний коммит
21 час назад

Что это?

PostgREST предоставляет полностью RESTful API для существующей базы данных PostgreSQL. Таблицы, представления и функции базы доступны по HTTP, поэтому для простых операций CRUD и запросов разработчикам не нужно писать собственный API-слой.

Большую часть работы выполняет база данных. Ответы сериализуются в JSON средствами SQL, авторизация опирается на роли PostgreSQL, заданные в базе, а проверка данных — на её ограничения. Аутентификация выполняется с помощью JSON Web Tokens, и сервер обрабатывает каждый запрос от имени прошедшего аутентификацию пользователя базы данных. Версии API задаются с помощью схем базы данных, а документация OpenAPI генерируется автоматически.

Сервер написан на Haskell, использует пул соединений и не хранит состояние, поэтому его можно масштабировать горизонтально. Он доступен в виде бинарных файлов для нескольких платформ и Docker-образа.

Ключевые возможности

  • 01Автоматически создаёт REST API на основе таблиц, представлений и функций базы данных PostgreSQL.
  • 02Передаёт авторизацию ролям базы данных, а аутентификацию выполняет с помощью JWT.
  • 03Автоматически создаёт документацию OpenAPI для API.
  • 04Поддерживает версионирование API с помощью схем базы данных.
  • 05Передаёт количество строк и результаты с пагинацией через HTTP-заголовки Range.
  • 06Работает как сервер без состояния и использует пул соединений с базой данных.

Сценарии использования

  • Быстро создать CRUD-бэкенд поверх существующей схемы PostgreSQL.
  • Предоставить стабильный публичный API через представления базы данных, даже если лежащие в основе таблицы меняются.
  • Предоставить приложению на фронтенде API для доступа к данным без написания серверных эндпоинтов.

Быстрый старт

  1. 1

    Ознакомьтесь с инструкцией по установке для вашей платформы (или используйте Docker)

  2. 2

    Проверьте доступные параметры с помощью команды help

    postgrest --help

Что важно знать

  • Требуется существующая база данных PostgreSQL; проект не предоставляет её.
  • Авторизация зависит от ролей базы данных и структуры схемы, поэтому безопасность необходимо настроить в PostgreSQL.

Темы

Частые вопросы

Что такое postgrest?
Самостоятельный сервер, который превращает любую существующую базу данных PostgreSQL в RESTful API без написания кода бэкенда. PostgREST предоставляет полностью RESTful API для существующей базы данных PostgreSQL. Таблицы, представления и функции базы доступны по HTTP, поэтому для простых операций CRUD и запросов разработчикам не нужно писать собственный API-слой.
postgrest можно использовать бесплатно? Какая у него лицензия?
postgrest распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
postgrest всё ещё поддерживается?
Активно поддерживается. Последний коммит в postgrest — 20 окт. 2026 г..
Для чего можно использовать postgrest?
Быстро создать CRUD-бэкенд поверх существующей схемы PostgreSQL. Предоставить стабильный публичный API через представления базы данных, даже если лежащие в основе таблицы меняются. Предоставить приложению на фронтенде API для доступа к данным без написания серверных эндпоинтов.
Как установить postgrest?
Ознакомьтесь с инструкцией по установке для вашей платформы (или используйте Docker) Проверьте доступные параметры с помощью команды help: postgrest --help
Где скачать postgrest?
Исходный код и инструкции по установке — на GitHub: https://github.com/PostgREST/postgrest

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Самостоятельно размещаемая open-source альтернатива Airtable: превращает SQL-базы данных, например PostgreSQL, MySQL и SQLite, в интерфейс в виде таблицы и автоматически генерирует API.

65,3 тыс.5,1 тыс.TypeScriptOtherОбновлён 18 часов назад