Die semantische Schicht von EDB Postgres AI liefert einem Agenten Kontext zu Tabellen, Spalten und Geschäftsbegriffen. In der von AWS beschriebenen Architektur läuft der Agent über Amazon Bedrock AgentCore und einen MCP-Endpunkt auf AIDB; PostgreSQL setzt die Zugriffsrechte durch. Der folgende Ablauf orientiert sich am AWS-Tutorial zur Integration und dessen C360-Beispiel.

Was die semantische Wissensbasis indexiert

Die AIDB Semantic Knowledge Base (SemKB) erfasst Metadaten des Schemas, darunter Tabellen, Views, Spalten, Kommentare und Fremdschlüsselbeziehungen. Sie indexiert nicht die Zeilen der zugrunde liegenden Tabellen. Der Agent kann damit Namen und Beziehungen im Schema finden; die eigentlichen Abfragen laufen weiterhin gegen PostgreSQL.

Die Geschäftssemantik ergänzen Sie an mehreren Stellen: COMMENT ON-Kommentare erklären, was eine Spalte bedeutet, Views bilden wiederverwendbare Geschäftsbegriffe ab, und Fremdschlüssel liefern mögliche Join-Pfade. Ein semantischer Alias kann außerdem eine beschriebene, parametrisierte und schreibgeschützte SELECT-Abfrage als Werkzeug für den Agenten bereitstellen.

Voraussetzungen für das C360-Beispiel

Das Tutorial setzt EDB Postgres AI mit aktivierter AIDB-Erweiterung voraus. Für die Beispieldaten werden vier CSV-Dateien in ein eigenes Schema c360 geladen. Sie ergeben die Tabellen customers, locations, products und purchases sowie eine daraus abgeleitete View. Die Beziehungen zwischen den Tabellen müssen als Fremdschlüssel abgebildet sein, damit die SemKB sie als Join-Pfade erfassen kann.

Die Integration Schritt für Schritt einrichten

  1. C360-Daten laden und Beziehungen abbilden. Laden Sie die vier CSV-Dateien in c360 und legen Sie die Fremdschlüssel an. Sie bilden die Grundlage dafür, dass der Agent Tabellen und mögliche Verknüpfungen auffinden kann.
  2. Geschäftsbegriffe und Spalten dokumentieren. Ergänzen Sie Kommentare und Views für die Bedeutung Ihrer Daten. Im Beispiel steht purchases.price für den Gesamtbetrag einer Bestellung, nicht für den Stückpreis. Die View big_spender definiert einen Großkunden als jemanden mit mindestens einer Bestellung über 250 US-Dollar. Solche Definitionen beeinflussen, welche Abfrage zu einer Frage passt.
  3. Die SemKB für das Schema konfigurieren. Das Tutorial legt c360_kb für das Schema c360 an und verwendet dafür bge-small-en-v1.5-f16 sowie auto_processing => 'Live'. AWS nennt außerdem Background und Disabled als mögliche Verarbeitungsmodi. Bei mehreren SemKBs muss die Suche den Parameter kb_name angeben.
  4. Den AIDB-MCP-Endpunkt aktivieren. Aktivieren Sie edb.endpoints_mcp_enabled und nehmen Sie aidb in shared_preload_libraries auf; anschließend muss PostgreSQL neu gestartet werden. Der Endpunkt verwendet im Beispiel standardmäßig Port 8765. Für eine Bindung außerhalb von localhost sind TLS-Zertifikat und Schlüssel einzurichten.
  5. Den Netzwerkpfad zu AgentCore herstellen. Das Beispiel stellt edb-endpoints hinter einen HTTPS Application Load Balancer (ALB) und registriert ihn als MCP-Ziel bei AgentCore Gateway. Der Endpunkt spricht Streamable HTTP MCP direkt, sodass dieser Pfad keine AWS-Lambda-Übersetzungsschicht benötigt. AWS empfiehlt für den Produktionseinsatz eine private VPC-Verbindung. Im beschriebenen ALB-Aufbau wird HTTPS auf Port 8765 zum Ziel weitergeleitet; die Zertifikatskette des Backend-Ziels wird dabei nicht validiert.

Identität und Datenbankzugriff getrennt absichern

Flussdiagramm von Cognito über AgentCore, MCP-Endpunkt und PostgreSQL; ein separater Zweig führt zu SQL-Traces.

Amazon Cognito stellt im Beispiel das JWT des Benutzers aus. AgentCore Gateway validiert es und prüft die Richtlinie für den Tool-Zugriff. Für die Verbindung zur Datenbank liefert AgentCore Identity dem MCP-Ziel separat die Zugangsdaten einer PostgreSQL-Rolle per HTTP Basic Authentication. Der Agentencode erhält diese Zugangsdaten nicht.

Die Berechtigungen für Tabellen, Spalten und Zeilen setzt PostgreSQL anhand dieser Rolle durch. Damit hängen die zugänglichen Daten von den gewährten Rechten ab, nicht allein von der Formulierung des Prompts.

Rollen und Abfragen prüfen

Testen Sie dieselbe Frage mit einer uneingeschränkten und einer eingeschränkten Rolle. Im C360-Beispiel kann die eingeschränkte Rolle die Spalte customers.ssn nicht lesen; PostgreSQL weist den Zugriff mit einem Berechtigungsfehler zurück. Row-Level Security kann den Zugriff zusätzlich auf bestimmte Zeilen begrenzen.

Eine ausführbare Abfrage ist noch kein Beleg dafür, dass ihre Geschäftsdefinition richtig gewählt wurde. Eine separate Anwenderdemonstration mit Snowflake zählte in einem Beispieldatensatz mit 34 Anbietern 25 als „aktiv“ nach einer Definition auf Basis von Käufen oder Rechnungen der vergangenen zwölf Monate, 24 nach einer 90-Tage-Definition und 21 nach einem ERP-Statusfeld. Das Beispiel stammt nicht aus der EDB-Implementierung. Es zeigt, warum ein Unternehmen festlegen muss, welche Definition für einen Begriff wie „aktiv“ gelten soll, bevor ein Ergebnis als fachlich freigegeben behandelt wird.

Anwender, die über Agenten mit großen Datenbankschemata diskutierten, empfahlen außerdem, bekannte Fragen regelmäßig zu testen, Abfragepläne zu prüfen und die verwendete Geschäftsdefinition festzuhalten. Ein Nutzer beschrieb den Vergleich gespeicherter Schema-Schnappschüsse, um Änderungen an referenzierten Tabellen zu erkennen. Ein anderer berichtete von einer verzögerten Replik, deren veralteter Stand einen bereits bezahlten Saldo noch als offen erscheinen ließ. Das sind Anwenderberichte aus anderen Umgebungen, keine Funktionen von EDB.

Für die Beobachtbarkeit kann AIDB SQL-Ausführungsspuren im Schema aidb_otel speichern, wenn die Telemetrie aktiviert ist. AgentCore erfasst separat Spuren zu Werkzeug- und Modellaufrufen sowie zum Tokenverbrauch in CloudWatch Transaction Search.