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_lakefü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.
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 |
|---|---|---|
|
Trefferquote von Index- und Tabellen-Cache |
Bestanden: ≥ 99 % / Warnung: 95–99 % / Fehlgeschlagen: < 95 % |
|
Schätzung des Tabellen- und Index-Blobs |
Bestanden: < 30% / Warn: 30-50% / Fail: > 50 % |
|
Leere Zeilen und Autovacuum-Status |
Warnen, wenn Tabellen entfernt werden müssen |
|
Anzahl der Verbindungen pro Rolle |
Informativ |
|
Exklusive Sperren |
Warnen, wenn Sperren vorhanden sind |
|
Blockierte Abfragen |
Schlägt fehl, wenn Abfragen blockiert sind |
|
Abfragen, die länger als 5 Minuten laufen |
Warnen, wenn gefunden |
|
Top langsame Abfragen (erfordert``pg_stat_statements``) |
Informativ |
|
Indizes wurden nie gescannt |
Warnen, wenn etwas gefunden wird |
|
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 |
AWS-Vertrauensrichtlinie aktualisieren |
ÄndertIAM-Berechtigungen |
Löschen von destruktiven Operationen |
Permanenter Datenverlust |
Schreiboperationen aus der Diagnose |
|
Nur-Lese-Operationen (SHOW, DESCRIBE, Gesundheitschecks,``SELECT``-Abfragen) sind nicht genehmigungspflichtig.