Comparación: PgArachne vs. PostgREST
| Característica | PgArachne (+ Funciones Universales) | PostgREST |
|---|---|---|
| Velocidad de configuración | Alta. Las funciones universales permiten CRUD instantáneo similar a PostgREST. | Alta. Genera automáticamente endpoints para todas las tablas. |
| Flexibilidad lógica | Ilimitada. Capacidad de combinar CRUD universal con funciones RPC específicas. | Limitada. La mayor parte de la lógica debe residir en filtros de URL o Vistas de Base de Datos. |
| Manejo de esquemas | Nativo. Acceso vía esquema.función. | Plano/Global. Requiere cambiar perfiles en los encabezados HTTP para cambiar de esquema. |
| Abstracción | Opcional. Puede exponer datos directamente (proxy) o encapsularlos de forma segura. | Baja. La API es esencialmente un espejo del esquema de la base de datos. |
| Listo para IA y LLM | Extrema. JSON-RPC y capacidad de definir funciones «Tool» específicamente para agentes de IA. | Media. La IA tiene que luchar con una sintaxis estricta de parámetros URL. |
| Archivos estáticos | Sí. Sirve HTML/JS/CSS directamente desde un único binario. | No. Debe configurar y gestionar un Nginx externo delante de él. |
| Tiempo real (SSE) | Sí. Endpoint SSE integrado para PostgreSQL NOTIFY. | No. Requiere wiring propio (LISTEN/NOTIFY + servicio separado). |
| Soporte Multi-Base de Datos | A nivel de servidor (N:1). Una sola instancia de PgArachne se conecta al servidor (IP:Puerto) y puede servir todas las bases de datos alojadas allí. | Por base de datos (1:1). Una instancia está vinculada a una base de datos específica. Servir múltiples bases de datos requiere ejecutar múltiples instancias en diferentes puertos. |
| Autenticación | JWT y Claves API. Soporta nativamente ambos mundos. | Principalmente JWT. |
| Rate limiting | Sí. Límite de login integrado (configurable). | No. Requiere proxy o middleware externo. |
¿Por qué «PgArachne Híbrido» es el ganador?
Gracias a las Funciones Universales (que actúan como un emulador), obtiene lo mejor de ambos mundos:
- Fase de Inicio (MVP): Despliegue PgArachne con unas pocas funciones proxy (como las
de
universal_table_access.sql) y en minutos tendrá una API funcional para todas las tablas. En esta etapa, se comporta exactamente como PostgREST. - Fase de Producción: A medida que la aplicación crece, comience a escribir funciones
dedicadas para operaciones sensibles (ej.
process_payment). Esto aumenta la seguridad y el rendimiento sin cambiar el stack tecnológico subyacente. - Frontend e IA: Al mismo tiempo, su aplicación se ejecuta en el mismo puerto que la API (gracias al servicio de archivos estáticos), y los agentes de IA pueden llamar a sus funciones directamente vía JSON-RPC.
Nota: Las «Funciones Universales» son un conjunto de funciones estándar PL/pgSQL que puede agregar a su base de datos para habilitar operaciones genéricas de Lectura, Creación, Actualización y Eliminación en cualquier tabla.