Englisches Original: https://argusic.com/subject/pg-net

pg_net

Eine PostgreSQL-Erweiterung, die asynchrone (nicht blockierende) HTTP/HTTPS-Anfragen mit SQL ermöglicht.

LäuftQuelle: GitHubHomepagePythonApache-2.0Commit 5fb36dd982bc

Python, Lizenz Apache-2.0. Das Projekt beschreibt sich selbst als: http client, postgres, postgresql, postgresql extension, sql und supabase.

pg_net läuft. Ein Argusic-Agent hat es in 35 Minuten installiert und ist auf 7 Fehler gestoßen und hat jeden davon ohne Hilfe behoben. Das geschah auf einer sauberen Maschine ohne GPU, und die gesamte Sitzung wurde aufgezeichnet.

PostgreSQL 16.4 with pg_net 0.20.4 preloaded is running, its background worker is up, the real nginx fixture serves localhost:8080 and 127.0.0.1:8888 with 200s, and the full 92-test pytest suite passes.

Was der Agent auf einer sauberen Maschine erreicht hat, in seinen eigenen Worten. So wird gemessen

Von Argusic jedes Mal auf einer frischen Maschine gemessen. Jede Zahl verlinkt auf ihren Nachweis. Argusic Score 60 von 100 (der Mittelwert der Lauf-Scores dieses Projekts).

Auf einen Blick

Befund
Läuft
Argusic Score
60 / 100
Kosten des verifizierenden Laufs
0,24 USD (gemessen)
aufgezeichnete Läufe
2
zuletzt getestet
Sterne
376
Forks
44
offene Issues
39
Beobachter
28
Größe
1 MB
erstellt
letzter Push

Projektdaten von GitHub, oben auf dieser Seite verlinkt, aktualisiert . Testdaten von Argusic (CC BY 4.0); jede Zahl verlinkt auf eine Laufseite mit dem vollständigen Log, der Aufzeichnung und deren sha256-Hashes.

Was gemessen wurde

Aus dem Lauf, der diesen Befund entschieden hat. Jede Zeile ist ein aufgezeichneter Wert, keine Schätzung.

Durch jeden Fehlschlag verlorene Zeit beim Testen von pg_net, aus dem aufgezeichneten Lauf gezeichnet
Jeder Balken ist ein Fehler, den der Agent aufgezeichnet hat, mit der Zeit, die er gekostet hat. Aus diesem Lauf gezeichnet, aus keiner anderen Quelle.

Was schiefging, in den Worten des Agents

Die eigenen Worte des Agents, das Schwerste zuerst, nie zu Ratschlägen umgeschrieben.

  • partial-suite runs failed on leftover state (orphaned net schema, stale queue rows, pre-created pg_stat_statements/roles)10 Minuten
  • nginx failed: unknown directive if/echo and missing PCRE/zlib8 Minuten
  • make link failed: cannot find -lcurl (no curl dev package installed)5 Minuten
  • postgres startup failed: could not access file pg_stat_statements4 Minuten
  • pip install blocked by PEP 668 and psycopg import failed3 Minuten
  • tests could not connect: default socket path not writable and roles missing3 Minuten
Installationszeit
35 Minuten
Von der kalten Maschine bis zum Ende
26 Minuten
Aufgetretene und behobene Fehler
7 aufgetreten, 7 ohne menschliche Hilfe behoben
Wie das Ergebnis belegt wurde
pytest full suite exited 0 with '92 passed in 141.60s'; net.http_get/post/delete via pg_net worker against real nginx returned status_code 200 with expected bodies; psql showed pg_net 0.20.4 installed and 1 worker running; curl localhost:8080 returned 200
Verbrauchte Modell-Tokens
1.017.775
Genau getesteter Commit
5fb36dd982bc
Container-Image
sha256:cdd920bce783

Was nicht gemessen wurde

Die andere Hälfte, damit Sie genau sehen, wie weit dieser Nachweis reicht. Eine Lücke wird als Lücke angezeigt und nie aufgefüllt.

Maximaler GPU-Speicher
dieser Lauf fand auf einer CPU-Maschine statt, es gab also keine GPU zu messen
Verhalten über einen langen Lauf
jeder Versuch verwendet die kleinsten dokumentierten Einstellungen und ein festes Zeitbudget, daher misst dies, ob es läuft, nicht wie es sich unter Last hält

Das Ende der Aufzeichnung

Die letzten Zeilen der Terminalsitzung, die diesen Befund entschieden hat, genau so, wie sie aufgezeichnet wurden.

- Launch: PostgreSQL cluster running, pg_net background worker up (`pg_stat_activity` shows 1 worke…
- Full test suite from clean DB state: `92 passed in 141.60s`, exit 0.
- Real end-to-end behavior: `net.http_get` → status 200 body `?x=1`; `net.http_post` → 200 body `{"…
**Errors fixed**
- `cannot find -lcurl` (no curl dev package) → linked system `libcurl.so.4`, headers from matching …
- `pg_stat_statements` missing at startup → built PG contrib module (4m).
- pg_net worker `role "" does not exist` → removed invalid `pg_net.username=''` config (2m).
- PEP 668 + missing psycopg binary → venv with `psycopg[binary]` (3m).
- Test env plumbing (socket dir `/tmp`, `runner`/`postgres` roles) (3m).
- nginx `if` directive needs rewrite module → built PCRE2+zlib, reconfigured nginx (8m).
- Initial partial-suite failures were stale-DB artifacts in the shared cluster; clean pre-state ful…
**Unverifiable in container**: kernel refused binding `::1` (error 99), so the 8888 fixture also li…

Gesamte Sitzung abspielen, jeder Befehl von einer sauberen Maschine bis zu diesem Punkt.

So wurde getestet

Ein Agent, ein Container, keine menschliche Hilfe. Er installiert das Projekt so, wie es die eigene Dokumentation beschreibt, führt es aus und behebt, was nicht funktioniert. Alles Folgende wurde so aufgezeichnet, wie es geschah: die Terminalsitzung, das Log und der genaue Commit. Die vollständige Methodik.

Stärken und Grenzen

Gemessene Fakten, keine Meinungen. Wie diese Inhalte entstehen.

Was gut lief

  • Hat auf einer sauberen Maschine einen lauffähigen Zustand erreicht, mit aufgezeichneter Sitzung.
  • Hat sich von allen 7 Fehlern erholt, ohne dass ein Mensch eingriff, was zeigt, dass die Fehlschläge gut genug dokumentiert sind, um sie zu lösen.
  • Lief ohne GPU, braucht also keine, um zu starten.
  • Lizenz Apache-2.0, laut Angabe des Hosts.
  • 2-mal gemessen, das Ergebnis ist also kein Einzelfall.

Was nicht lief oder unbekannt ist

  • Die Installation dauerte 35 Minuten, langsamer als der Median der 4 vergleichbaren Projekte, die Argusic gemessen hat.

Von den 5 Projekten im Bereich http-client, die Argusic installiert und zeitlich gemessen hat, belegte pg_net Platz 4 bei der Zeit bis zum lauffähigen Zustand, und 4 von 5 erreichten überhaupt einen solchen Zustand.

Wofür es eine vernünftige Wahl ist

  • Zum Ausprobieren auf einem Laptop oder kleinen Server: Es erreichte einen lauffähigen Zustand ohne GPU.

Ebenfalls getestet, im selben Bereich

Jedes dieser Projekte wurde von Argusic auf einer sauberen Maschine installiert und ausgeführt. Hier erscheint nichts, was nicht getestet wurde.

Laufverlauf

getestet vonVersuchErgebnisScoreKosten USDwann
Argusic Runner2/3Läuft100,000,24
Argusic Runner1/3Lief nicht20,000,90

Themen (von GitHub)

http-clientpostgrespostgresqlpostgresql-extensionsqlsupabase

Badge einbetten

Markdown für die README des Projekts. Es verlinkt hierher zurück; Bedingungen auf der Seite mit den Nutzungsbedingungen.

[![Tested by Argusic](https://argusic.com/badge/pg_net.svg)](https://argusic.com/subject/pg-net)

Fragen

Läuft pg_net?
Ja. pg_net läuft. Argusic hat es auf einer sauberen Maschine in 35 Minuten installiert und gestartet, ist dabei auf 7 Fehler gestoßen und hat die Sitzung aufgezeichnet.
Wie hat Argusic pg_net getestet?
Auf einer frischen Einwegmaschine, mit jedem Befehl aufgezeichnet und dem Repository fixiert auf Commit 5fb36dd982bc. 2 Versuche sind aufgezeichnet, und die vollständige Methode steht auf der Seite zur Methodik.
Was hat der Test von pg_net gekostet?
Der Lauf, der diesen Befund ergab, kostete 0,24 USD: echte Rechen- und Modellkosten, kein Listenpreis pro Million Tokens. Der Betrag ist auf der Seite dieses Laufs aufgezeichnet.
Wie lange dauert die Installation von pg_net?
35 Minuten in dem Lauf, der diesen Befund entschieden hat, von einer sauberen Maschine bis zum lauffähigen Zustand. Das ist ein gemessener Versuch, kein Durchschnitt.
Braucht pg_net eine GPU?
Nicht zum Starten. Argusic hat auf einer Maschine ohne GPU einen lauffähigen Zustand erreicht.
Was geht bei der Installation von pg_net schief?
Im aufgezeichneten Lauf gingen 7 Dinge kaputt, und 7 davon wurden ohne menschliche Hilfe behoben. Jedes davon und die Zeit, die es gekostet hat, ist auf dieser Seite aufgeführt.
Wie schneidet pg_net im Vergleich zu Alternativen ab?
Von den 5 Projekten im Bereich http-client, die Argusic installiert und zeitlich gemessen hat, belegte pg_net Platz 4 bei der Zeit bis zum lauffähigen Zustand, und 4 von 5 erreichten überhaupt einen solchen Zustand.
Wo ist der Nachweis für pg_net?
Alle 2 aufgezeichneten Läufe sind auf dieser Seite, jeweils mit Link auf das vollständige Log und die Terminalaufzeichnung, gespeichert mit einem sha256-Fingerabdruck, damit nichts unbemerkt verändert werden kann.

Discussion