Repolode
PostgREST

PostgREST/postgrest

Um servidor independente que transforma qualquer banco de dados PostgreSQL existente em uma API RESTful, sem exigir código de backend.

Estrelas
27,726
Forks
1,234
Issues abertas
410
Último commit
há 13 horas

O que é?

O PostgREST disponibiliza uma API totalmente RESTful a partir de um banco de dados PostgreSQL existente. Tabelas, views e funções do banco são expostas via HTTP, permitindo que desenvolvedores dispensem a criação de uma camada de API personalizada para operações básicas de CRUD e consultas.

A maior parte do trabalho fica a cargo do banco de dados. As respostas são serializadas como JSON em SQL, a autorização segue as roles do PostgreSQL definidas no banco e a validação dos dados depende das constraints do banco. A autenticação é feita por meio de JSON Web Tokens, e o servidor executa cada requisição como o usuário autenticado do banco de dados. O versionamento da API é feito por meio de schemas do banco, e a documentação OpenAPI é gerada automaticamente.

O servidor é escrito em Haskell, usa um pool de conexões e não mantém estado, o que permite escalá-lo horizontalmente. Está disponível como binário para várias plataformas e como imagem Docker.

Recursos principais

  • 01Gera automaticamente uma API REST a partir de tabelas, views e funções de um banco de dados PostgreSQL.
  • 02Delega a autorização às roles do banco e a autenticação ao JWT.
  • 03Gera a documentação OpenAPI da API.
  • 04Oferece suporte ao versionamento da API por meio de schemas do banco de dados.
  • 05Retorna contagens de linhas e resultados paginados por meio de cabeçalhos HTTP Range.
  • 06Funciona como um servidor sem estado com um pool de conexões com o banco de dados.

Casos de uso

  • Criar rapidamente um backend CRUD sobre um schema PostgreSQL existente.
  • Expor uma API pública estável por meio de views do banco de dados, mesmo quando as tabelas subjacentes mudam.
  • Disponibilizar uma API de dados para um app frontend sem escrever endpoints no servidor.

Início rápido

  1. 1

    Leia a documentação de instalação para sua plataforma (ou use o Docker)

  2. 2

    Confira as opções disponíveis com o comando help

    postgrest --help

Antes de usar

  • Requer um banco de dados PostgreSQL existente; ele não fornece um.
  • A autorização depende das funções do banco de dados e do projeto do esquema, portanto a segurança deve ser configurada no PostgreSQL.

Tópicos

Perguntas frequentes

O que é postgrest?
Um servidor independente que transforma qualquer banco de dados PostgreSQL existente em uma API RESTful, sem exigir código de backend. O PostgREST disponibiliza uma API totalmente RESTful a partir de um banco de dados PostgreSQL existente. Tabelas, views e funções do banco são expostas via HTTP, permitindo que desenvolvedores dispensem a criação de uma camada de API personalizada para operações básicas de CRUD e consultas.
postgrest é gratuito? Qual é a licença?
postgrest é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
postgrest ainda é mantido?
Manutenção ativa. O último commit de postgrest foi em 20 de out. de 2026.
Para que posso usar postgrest?
Criar rapidamente um backend CRUD sobre um schema PostgreSQL existente. Expor uma API pública estável por meio de views do banco de dados, mesmo quando as tabelas subjacentes mudam. Disponibilizar uma API de dados para um app frontend sem escrever endpoints no servidor.
Como instalar postgrest?
Leia a documentação de instalação para sua plataforma (ou use o Docker) Confira as opções disponíveis com o comando help: postgrest --help
Onde consigo postgrest?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/PostgREST/postgrest

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados