Repolode
PostgREST

PostgREST/postgrest

Servidor independiente que convierte cualquier base de datos PostgreSQL existente en una API RESTful, sin necesidad de escribir código de backend.

Estrellas
27,726
Forks
1,234
Issues abiertos
410
Último commit
hace 17 horas

¿Qué es?

PostgREST ofrece una API completamente RESTful a partir de una base de datos PostgreSQL existente. Las tablas, vistas y funciones de la base de datos se exponen mediante HTTP, por lo que los desarrolladores pueden evitar crear una capa de API personalizada para operaciones CRUD y consultas básicas.

La mayor parte del trabajo se delega en la base de datos. Las respuestas se serializan como JSON en SQL, la autorización se basa en los roles de PostgreSQL definidos en la base de datos y la validación de datos depende de las restricciones de la base de datos. La autenticación se gestiona mediante JSON Web Tokens, y el servidor ejecuta cada solicitud como el usuario autenticado de la base de datos. El versionado de la API se realiza mediante esquemas de base de datos y la documentación OpenAPI se genera automáticamente.

El servidor está escrito en Haskell, utiliza un pool de conexiones y no mantiene estado, por lo que se puede escalar horizontalmente. Está disponible como binario para varias plataformas y como imagen de Docker.

Funciones clave

  • 01Genera automáticamente una API REST a partir de las tablas, vistas y funciones de una base de datos PostgreSQL.
  • 02Delega la autorización en los roles de la base de datos y la autenticación en JWT.
  • 03Genera documentación OpenAPI para la API.
  • 04Admite el versionado de la API mediante esquemas de base de datos.
  • 05Devuelve el número de filas y resultados paginados mediante encabezados de rango HTTP.
  • 06Se ejecuta como un servidor sin estado con un pool de conexiones a la base de datos.

Casos de uso

  • Crear rápidamente un backend CRUD sobre un esquema PostgreSQL existente.
  • Exponer una API pública estable mediante vistas de la base de datos mientras cambian las tablas subyacentes.
  • Proporcionar una API de datos para una aplicación frontend sin escribir endpoints del lado del servidor.

Inicio rápido

  1. 1

    Lee la documentación de instalación para tu plataforma (o usa Docker)

  2. 2

    Consulta las opciones disponibles con el comando help

    postgrest --help

Antes de usarlo

  • Requiere una base de datos PostgreSQL existente; no proporciona una.
  • La autorización depende de los roles de la base de datos y del diseño del esquema, por lo que la seguridad debe configurarse en PostgreSQL.

Temas

Preguntas frecuentes

¿Qué es postgrest?
Servidor independiente que convierte cualquier base de datos PostgreSQL existente en una API RESTful, sin necesidad de escribir código de backend. PostgREST ofrece una API completamente RESTful a partir de una base de datos PostgreSQL existente. Las tablas, vistas y funciones de la base de datos se exponen mediante HTTP, por lo que los desarrolladores pueden evitar crear una capa de API personalizada para operaciones CRUD y consultas básicas.
¿postgrest es gratuito? ¿Qué licencia tiene?
postgrest es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿postgrest sigue mantenido?
Mantenimiento activo. El último commit de postgrest fue el 20 oct 2026.
¿Para qué puedo usar postgrest?
Crear rápidamente un backend CRUD sobre un esquema PostgreSQL existente. Exponer una API pública estable mediante vistas de la base de datos mientras cambian las tablas subyacentes. Proporcionar una API de datos para una aplicación frontend sin escribir endpoints del lado del servidor.
¿Cómo se instala postgrest?
Lee la documentación de instalación para tu plataforma (o usa Docker) Consulta las opciones disponibles con el comando help: postgrest --help
¿Dónde consigo postgrest?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/PostgREST/postgrest

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados