Srovnání: PgArachne vs. PostgREST
| Vlastnost | PgArachne (+ univerzální funkce) | PostgREST |
|---|---|---|
| Rychlost nasazení | Vysoká. Univerzální funkce umožňují okamžité CRUD podobně jako PostgREST. | Vysoká. Automaticky generuje endpointy pro všechny tabulky. |
| Flexibilita logiky | Neomezená. Schopnost kombinovat univerzální CRUD se specifickými RPC funkcemi. | Omezená. Většina logiky musí být v URL filtrech nebo v databázových pohledech (Views). |
| Práce se schématy | Nativní. Přístup přes schema.funkce. | Plochá/Globální. Vyžaduje přepínání profilů v HTTP hlavičkách pro změnu schémat. |
| Abstrakce | Volitelná. Můžete data vystavit přímo (proxy) nebo je bezpečně zapouzdřit. | Nízká. API je v podstatě zrcadlem databázového schématu. |
| Připravenost pro AI a LLM | Extrémní. JSON-RPC a možnost definovat funkce typu „Tool“ specificky pro AI agenty. | Střední. AI se musí potýkat s přísnou syntaxí parametrů URL. |
| Statické soubory | Ano. Obsluhuje HTML/JS/CSS přímo z jediného binárního souboru. | Ne. Musíte před něj nakonfigurovat a spravovat externí Nginx. |
| Real-time (SSE) | Ano. Vestavěný SSE endpoint pro PostgreSQL NOTIFY. | Ne. Vyžaduje vlastní řešení (LISTEN/NOTIFY + další služba). |
| Podpora více databází | Server-wide (N:1). Jediná instance PgArachne se připojí k serveru (IP:Port) a dokáže obsloužit všechny databáze, které na něm běží. | Per-Database (1:1). Jedna instance je vázána na jednu konkrétní databázi. Pro obsluhu více databází musíte spustit více instancí na různých portech. |
| Autentizace | JWT a API klíče. Nativně podporuje oba světy. | Primárně JWT. |
| Rate limiting | Ano. Vestavěné omezení loginu (konfigurovatelné). | Ne. Vyžaduje externí proxy nebo middleware. |
Proč je „Hybridní PgArachne“ vítězem?
Díky univerzálním funkcím (fungujícím jako emulátor) získáte to nejlepší z obou světů:
- Fáze startu (MVP): Nasaďte PgArachne s několika proxy funkcemi (jako jsou ty v
universal_table_access.sql) a během minut máte funkční API pro všechny tabulky. V této fázi se chová přesně jako PostgREST. - Produkční fáze: Jak aplikace roste, začněte psát dedikované funkce pro
citlivé operace (např.
process_payment). To zvyšuje bezpečnost a výkon bez změny podkladového technologického stacku. - Frontend a AI: Zároveň vaše aplikace běží na stejném portu jako API (díky obsluze statických souborů) a AI agenti mohou volat vaše funkce přímo přes JSON-RPC.
Poznámka: „Univerzální funkce“ jsou sadou standardních PL/pgSQL funkcí, které můžete přidat do své databáze pro povolení obecných operací čtení, vytváření, aktualizace a mazání na jakékoli tabulce.