Cortex Code CLI とSnowflake Postgresの使用¶
Cortex Code CLI Postgresでは、Postgresデータベースについて自然言語で質問し、Cortex Codeを生成して SQL を実行できます。デバッグ、スキーマ探索、軽量分析のために設計されており、すべてのクエリを手動で記述する必要がありません。
インストール、接続設定、一般的なCortex Code CLI の使用法については、 Cortexコード CLI をご参照ください。
このPostgres固有のスキル:
Snowflake Postgresインスタンスの作成と管理を支援します。
自然言語の質問をPostgres SQL に変換します。
生成された SQL を構成されたPostgresインスタンスに対して実行します。
短くて判読可能な要約と、任意の生の結果を返します。
SnowflakeステージまたはS3バケットを介してPostgresとSnowflake間のオブジェクトストレージおよびデータ移動のための
pg_lakeを設定できます。
接続の管理¶
スキルは PostgreSQL のネイティブ ~/.pg_service.conf および ~/.pgpass ファイルを使用して接続を保存し、それらにすべての標準 PostgreSQL クライアント( psql 、pgAdmin、 DBeaver など)と互換性を持たせます。Cortex Codeにインスタンスの作成、または認証情報のリセットを依頼すると、接続は pg_connect.py を介して自動的に保存されます。
警告
チャットやログに .pgpass コンテンツを表示することはありません。すべての認証情報操作に pg_connect.py を使用します。
クエリの実行¶
接続が保存されると、Cortex Codeはチャットからインスタンスに対して直接 psql コマンドを実行できます。パスワードは ~/.pgpass から自動的に解決されます。自然言語のプロンプトを使うことができます。
"Show me all tables on my_instance"
"Run a SELECT on the orders table to get the last 10 rows"
"What indexes exist on the users table?"
Cortex Codeはこれらを psql コマンドに変換し、インスタンスの準備ができていることを確認し(一時停止された場合は自動再開)、クエリを実行し、結果を表示します。
Cortex Codeは、明示的に求めない限り、書き込み操作を実行しません( INSERT 、 UPDATE 、 DELETE 、 DROP 、 TRUNCATE )。書き込み操作には、続行する前に確認が必要です。
Postgresのヘルスチェック¶
pg_doctor は、30秒のステートメントタイムアウトが設定された、Postgresインスタンスに対してヘルスチェックを実行する読み取り専用の診断ツールです。
チェック |
説明 |
しきい値 |
|---|---|---|
|
インデックスとテーブルキャッシュのヒット率 |
合格: >= 99% / 警告:95-99% / 失敗: < 95% |
|
テーブルとインデックスの肥大化推定 |
合格:< 30% / Warn: 30-50% / Fail: > 50% |
|
デッド行と自動バキュームのステータス |
テーブルにバキュームが必要な場合に警告 |
|
ロールごとの接続数 |
情報 |
|
保持された排他的ロック |
ロックが存在する場合は警告 |
|
ブロックされたクエリ |
クエリがブロックされている場合は失敗する |
|
5分より長く実行されているクエリ |
見つかった場合は警告 |
|
上位の遅いクエリ( |
情報 |
|
一度もスキャンされていないインデックス |
見つかった場合は警告 |
|
テーブルサイズの内訳(合計、インデックス、トースト) |
情報 |
結果を提示した後、Cortex Codeはフラグの付いたチェックを説明し、さらに調査することを提案します。何らかの修復アクション( VACUUM 、 REINDEX など)は、実行前の明示的な確認を必要とします。
pg_lakeの設定¶
pg_lake は、Snowflake PostgresインスタンスでのオブジェクトストレージとS3データの移動を可能にする PostgreSQL 拡張機能です。拡張機能自体の詳細については、 pg_lake用のS3ストレージの構成 をご参照ください。
Cortex Codeのスキルは、SnowflakeステージとSnowflakeの外部で管理されるS3バケットの両方でマルチシステムセットアップを支援します(Snowflake SQL 、 AWS IAM 、Postgres SQL )。Cortex Codeにインタラクティブに設定方法を説明してもらうことができます。
"Set up pg_lake on my_instance with s3://my-bucket/data/"
"Configure pg_lake with a Snowflake managed stage on my_instance"
承認ゲート¶
Cortex Codeは、請求可能、破壊的、またはセキュリティセンシティブな操作を実行する前に確認を求めます。
操作 |
理由 |
|---|---|
インスタンスの作成/一時停止 |
請求可能なリソースまたはアクティブな接続のドロップ |
ネットワークポリシーの変更 |
アクセス制御の変更 |
ストレージ統合の作成/変更 |
クラウドリソース( |
AWS 信頼ポリシーの更新 |
IAM 権限の変更 |
ドロップ/破壊的操作 |
永続的なデータ損失 |
診断からの書き込み操作 |
|
読み取り専用操作( SHOW 、 DESCRIBE ヘルスチェック、 SELECT クエリ)は承認を必要としません。