Sobre e Arquitetura
O PgArachne™ serve como um servidor web leve e de alta performance que fica entre os seus clientes HTTP e o banco de dados PostgreSQL. Ele elimina a necessidade de linguagens de backend tradicionais (como Python, Node.js ou PHP) mapeando requisições HTTP diretamente para funções do banco de dados.
Capacidades Técnicas Principais
- Gateway JSON-RPC 2.0: Todas as interações da API seguem a especificação estrita JSON-RPC 2.0. Não há endpoints REST para projetar; você simplesmente chama funções SQL pelo nome via requisições POST.
- Autenticação Nativa de BD: Sem tabelas de usuários separadas. Os usuários fazem login com suas credenciais reais do PostgreSQL para receber um JWT. Alternativamente, contas de serviço podem usar Tokens de API persistentes.
- Mascaramento de Papéis (Role Masquerading): O PgArachne™ conecta-se como um usuário
proxy, mas executa cada requisição usando
SET LOCAL ROLEpara mudar para a identidade do usuário autenticado. A segurança em nível de linha (Row-Level Security – RLS) funciona automaticamente. - MCP (Model Context Protocol): Um endpoint MCP nativo permite que clientes de IA como Claude Desktop, Cursor e outras ferramentas MCP-compatíveis descubram e chamem suas funções PostgreSQL diretamente como ferramentas — sem nenhum código de integração adicional. A mesma autenticação e segurança de papéis se aplica. Recursos (tabelas/views) e modelos de prompts também são expostos via MCP.
- Notificações em tempo real (SSE): Assine canais PostgreSQL
NOTIFYvia SSE para atualizações em tempo real sem polling. - Servidor de Arquivos Estáticos: O PgArachne™ pode servir ativos estáticos (HTML, JS, CSS), permitindo que você hospede Single Page Applications (SPAs) ou a ferramenta Explorer diretamente.
Esta arquitetura simplifica drasticamente a stack: Banco de Dados ↔ PgArachne ↔ Frontend/Agente IA.
Estrutura dos endpoints: Todos os endpoints do banco de dados compartilham um prefixo comum (padrão
db, configurável via API_PREFIX):POST /{prefixo}/{banco_de_dados}/jsonrpc — gateway JSON-RPC 2.0
GET /{prefixo}/{banco_de_dados}/sse — stream PostgreSQL NOTIFY
POST /{prefixo}/{banco_de_dados}/mcp — Model Context Protocol