Verwenden von Cortex Code CLI mit Snowflake Postgres

Der Cortex Code CLI Postgres-Skill ermöglicht es Ihnen, Fragen in natürlicher Sprache zu einer Postgres-Datenbank zu stellen, wobei Cortex Code automatisch SQL für Sie generiert und ausführt. Der Skill wurde für Debugging, Schema-Erkundungen und einfache Analysen entwickelt, ohne dass Sie jede Abfrage von Hand schreiben müssen.

Informationen zur Installation, zur Einrichtung der Verbindung und zur allgemeinen Nutzung von Cortex Code CLI finden Sie unter Cortex Code-CLI.

Diese Postgres-spezifische Fähigkeit:

  • Unterstützt beim Erstellen und Verwalten von Snowflake Postgres-Instanzen.

  • Übersetzt Fragen in natürlicher Sprache in Postgres SQL.

  • Führt den generierten SQL gegen eine konfigurierte Postgres-Instanz aus.

  • Gibt eine kurze, lesbare Zusammenfassung plus optionale Rohergebnisse zurück.

  • Kann pg_lake für Objektspeicher und Datenbewegungen zwischen Postgres und Snowflake über Snowflake-Stagingbereiche oder S3-Buckets einrichten.

Verwalten von Verbindungen

Die Skill speichert Verbindungen mithilfe der nativen ~/.pg_service.conf- und ~/.pgpass-Dateien von PostgreSQL, wodurch sie mit allen gängigen PostgreSQL-Clients (psql, pgAdmin, DBeaver etc.) kompatibel sind. Wenn Sie Cortex Code bitten, eine Instanz zu erstellen oder Anmeldedaten zurückzusetzen, wird die Verbindung automatisch über pg_connect.py gespeichert.

Warnung

Zeigen Sie .pgpass-Inhalte im Chat oder in Protokollen nie an. Verwenden Sie pg_connect.py für alle Vorgänge mit Anmeldeinformationen.

Abfragen ausführen

Sobald eine Verbindung gespeichert ist, kann Cortex Code psql-Befehle für Ihre Instanzen direkt aus dem Chat ausführen. Kennwörter werden automatisch aufgelöst von ~/.pgpass. Verwenden Sie Eingabeaufforderungen in natürlicher Sprache:

  • „Zeige mir alle Tabellen auf my_instance“

  • „Führe SELECT in der Auftragstabelle aus, um die letzten 10 Zeilen zu erhalten“

  • „Welche Indizes sind in der Tabelle der Benutzer vorhanden?“

Cortex Code übersetzt diese in``psql``-Befehle, prüft, ob die Instanz bereit ist (wird automatisch fortgesetzt, wenn sie angehalten wurde), führt die Abfrage aus und präsentiert die Ergebnisse.

You:          How many orders were placed this month?
Cortex Code:  Running: psql "service=my_instance" -c \
         "SELECT count(*) FROM orders
          WHERE created >= date_trunc('month', current_date);"

         count
        -------
           142

Cortex Code führt keine Schreiboperationen (INSERT,``UPDATE``, DELETE, DROP, TRUNCATE) aus, es sei denn, Sie fragen ausdrücklich danach. Schreiboperationen erfordern vor dem Fortfahren eine Bestätigung.

Postgres-Statusprüfungen

pg_doctor ist ein schreibgeschütztes Diagnosetool, das Statusprüfungen für eine Postgres-Instanz mit einem Timeout für 30 Sekunden ausführt.

Überprüfen

Beschreibung

Schwellenwerte

cache_hit

Trefferquote von Index- und Tabellen-Cache

Bestanden: ≥ 99 % / Warnung: 95–99 % / Fehlgeschlagen: < 95 %

bloat

Schätzung des Tabellen- und Index-Blobs

Bestanden: < 30% / Warn: 30-50% / Fail: > 50 %

vacuum_stats

Leere Zeilen und Autovacuum-Status

Warnen, wenn Tabellen entfernt werden müssen

connections

Anzahl der Verbindungen pro Rolle

Informativ

locks

Exklusive Sperren

Warnen, wenn Sperren vorhanden sind

blocking

Blockierte Abfragen

Schlägt fehl, wenn Abfragen blockiert sind

long_running

Abfragen, die länger als 5 Minuten laufen

Warnen, wenn gefunden

outliers

Top langsame Abfragen (erfordert``pg_stat_statements``)

Informativ

unused_indexes

Indizes wurden nie gescannt

Warnen, wenn etwas gefunden wird

table_sizes

Aufschlüsselung der Tabellengröße (Gesamt, Index, Toast)

Informativ

Nach der Darstellung der Ergebnisse erläutert Cortex Code auffällige Prüfungen und bietet an, diese weiter zu untersuchen. Alle Maßnahmen zur Behebung (VACUUM, REINDEX usw.) erfordern vor der Ausführung eine explizite Bestätigung.

Einrichten von pg_lake

pg_lake ist einePostgreSQL-Erweiterung, die Objektspeicher und S3-Datenbewegungen auf Snowflake-Postgres-Instanzen ermöglicht. Weitere Informationen zur Erweiterung selbst finden Sie unter Konfigurieren von S3-Speicher für „pg_lake“.

Die Cortex Code-Fähigkeit unterstützt das Multisystem-Setup (Snowflake SQL, AWS IAM, Postgres SQL) sowohl für Snowflake-Stagingbereiche als auch für außerhalb von Snowflake verwaltete S3-Buckets. Sie können Cortex Code bitten, Sie interaktiv durch das Setup zu führen:

  • „pg_lake auf my_instance mit s3://my-bucket/data/ einrichten“

  • „pg_lake mit einem von Snowflake verwalteten Stagingbereich auf my_instance konfigurieren“

Genehmigungstore

Cortex Code erfordert eine Bestätigung, bevor Operationen ausgeführt werden, die abrechenbar, destruktiv oder sicherheitsrelevant sind.

Operation

Grund

Instanz erstellen/anhalten

Abrechenbare Ressource oder beendet aktive Verbindungen

Änderungen der Netzwerkrichtlinien

Ändert die Zugriffssteuerung

Speicherintegration erstellen/ändern

Cloudressourcen, benötigt ACCOUNTADMIN

AWS-Vertrauensrichtlinie aktualisieren

ÄndertIAM-Berechtigungen

Löschen von destruktiven Operationen

Permanenter Datenverlust

Schreiboperationen aus der Diagnose

VACUUM, REINDEX, pg_terminate_backend etc.

Nur-Lese-Operationen (SHOW, DESCRIBE, Gesundheitschecks,``SELECT``-Abfragen) sind nicht genehmigungspflichtig.