メタデータとイントロスペクション
メタデータには、データベースオブジェクト、その構造、データベースオブジェクトのソースコードなどに関する情報が含まれています。DataGrip は、この情報を使用して、データベースエクスプローラー内のオブジェクトを表示し、その DDL を表示し、補完時に候補を表示し、その他のコーディング支援、ナビゲーション、検索機能を提供します。
DataGrip では、データベースのメタデータを取得する方法が 2 つあります。ミニカタログとイントロスペクションです。
- ミニカタログ
システムスキーマのミニカタログを使用すると、システムスキーマのメタデータが事前にイントロスペクトされ、IDE 自体に提供されます。これにより、システムスキーマをイントロスペクトする前に、データベースに接続することなく、システムメタデータを使用するスクリプトを作成できます。
イントロスペクション
イントロスペクションとは、データベースのメタデータを読み込むプロセスです。イントロスペクションを実行すると、データソース内の構造情報がインスペクションされ、テーブル、列、ルーチン、その他のデータベースオブジェクトとその属性が検出されます。
イントロスペクションは、データ構造とカタログを持つデータベースでのみサポートされます。
デフォルトでは、データベースエクスプローラーに表示するために選択されたスキーマとデータベースのみがイントロスペクトされます。
データベースエクスプローラー ( ⌘ 1) で選択するか、データソースおよびドライバーダイアログ (Ctrl+Alt+Shift+S) ダイアログでデータソースプロパティを編集することで、イントロスペクトして表示するスキーマとデータベースを選択できます。
イントロスペクションのスキーマとデータベースを選択する
データベースエクスプローラーの場合:
データベースエクスプローラーを開くには、メインメニューからを選択します。または、⌘ 1 を押します。
データベースエクスプローラーで、データソース、データベース、スキーマ名の横にある N/M ボタンをクリックします。

スキーマ選択ポップアップウィンドウで、データベースまたはスキーマを選択し、Enter を押します。
データソースおよびドライバーダイアログの場合:
ダイアログを開くには、データベースエクスプローラーのデータソースを右クリックし、
Properties を選択します。または、ツールバーの
データソースのプロパティアイコンをクリックします。
データソースおよびドライバーダイアログのスキーマタブで、データベースまたはスキーマを選択します。

オブジェクトフィルターフィールドは、データベースエクスプローラーで表示されるオブジェクトを定義するだけで、イントロスペクションの範囲には影響しないことに注意してください。
変更を適用してダイアログを閉じます。
必要なデータベースとスキーマがイントロスペクトされると、IDE はスクリプト内のデータベースオブジェクトを適切なコンテキストに解決できるようになります。以下の例は、イントロスペクトされたスキーマとイントロスペクトされていないスキーマのデータベースオブジェクトの解決方法を示しています。

イントロスペクトされていない
MySQLデータソース。PostgreSQLデータソースのうち、唯一イントロスペクトされたguestデータベース。このデータベースには 4 つのスキーマが含まれており、publicスキーマのみがイントロスペクトされています。クエリコンソールでのデータベースオブジェクトの解決: イントロスペクトされた
guestスキーマの場合は成功し、イントロスペクトされていないtestsスキーマの場合は失敗しました。
データソースごとに、データベースオブジェクトのソースコードがロードされるスキーマのカテゴリを選択することもできます。
異なるスキーマのデータベースオブジェクトのソースをロードする
データベースオブジェクトのソースがロードされるスキーマを選択するには、データソースおよびドライバーダイアログ (Ctrl+Alt+Shift+S) を開き、データソースを選択します。
オプションタブで、ソースのロード設定に移動し、スキーマのカテゴリを選択します。
変更を適用し、ダイアログを閉じます。

すべてのオブジェクトが処理されている場合、データベースユーザーはイントロスペクションに長い時間がかかることがありますが、日常業務やコーディング支援では通常、イントロスペクションは必要ありません。イントロスペクションされるオブジェクトの数を減らすため、DataGrip では追加のイントロスペクションタイプと、サポート対象の一部のデータベースに対して 3 つのイントロスペクションレベルが実装されています。
イントロスペクションの問題を報告するためのトラブルシューティング資料の収集の詳細については、イントロスペクションの問題を報告するセクションを参照してください。
イントロスペクションの種類
イントロスペクションの種類は、イントロスペクション中にリフレッシュされるデータベースオブジェクトを定義します。一部のデータベースでは、このイントロスペクションの範囲を特定のオブジェクトに絞り込むことができます。DataGrip では、データベースに応じて、フルイントロスペクション、フラグメントイントロスペクション、増分イントロスペクションの 3 種類のイントロスペクションが利用可能です。
- 完全なイントロスペクション
データベースエクスプローラー ( スキーマセレクター ) またはデータソースおよびドライバーダイアログ ( スキーマ タブ ) でイントロスペクション用に選択されたスキーマとデータベースがリフレッシュされます。
- 増分イントロスペクション
前回のイントロスペクション実行後にデータベース内で変更されたデータベースオブジェクトのみがリフレッシュされます。
- フラグメントイントロスペクション
リフレッシュアクションを呼び出すと、データベースエクスプローラーで選択されたデータベースオブジェクトのみがリフレッシュされます。

クエリコンソールでステートメントを実行すると、スマートなリフレッシュメカニズムが適用されます。DataGrip は、このステートメントによって変更される可能性のあるオブジェクトを分析し、特定のオブジェクトセットのみをリフレッシュします。
サポートされている一部のデータベースでは、イントロスペクションレベルごとにイントロスペクションを実行できます。
- レベル別のイントロスペクション
イントロスペクションレベルは、データベースオブジェクトについて取得される詳細の量を定義します。
レベル 1: データベースオブジェクト名のみがロードされます。
レベル 2: データベースオブジェクトのソースコードを除くすべてがロードされます。
レベル 3: すべてがロードされました。
イントロスペクションレベルの詳細については、イントロスペクションレベルトピックを参照してください。

データベースで特定のイントロスペクションタイプがサポートされていない場合、DataGrip は完全なイントロスペクションを実行します。以下のデータベースでは、特定のイントロスペクションタイプとイントロスペクションレベルがサポートされています。
データベース | 増分イントロスペクション | フラグメントイントロスペクション | イントロスペクションレベル |
|---|---|---|---|
はい | はい | - | |
はい | - | - | |
はい | はい | はい | |
はい | はい | はい | |
はい | はい | はい | |
はい | はい | はい | |
はい | はい | はい |
関連ページ:
すべてのデータベースまたはスキーマを表示
デフォルトでは、DataGrip はデータベースエクスプローラー内のイントロスペクトされたスキーマとデータベースのみを表示します。大規模なデータソースの場合、大量のスキーマのイントロスペクションは長いプロセスになる可能性があるため、これによりディスク領域と時間を節約できます。また、ワークフローに不要なスキーマやデータベースを非表示にすることもできます。イントロスペクトして表示するスキーマまたはデータベースのリストを編集するか、IDE ですべてのデータソーススキーマとデータベースを表示できるように...
クエリを実行する
ショートカット、ツールバーボタンとアイコン、コンテキストメニュー、実行 / デバッグ構成を使用して、コードを実行できます。クエリコンソール、スクラッチファイル、ユーザーファイルからクエリを実行できます。クエリ結果を表示する場所と方法の詳細については、「照会結果」を参照してください。次のビデオは、DataGrip でクエリを実行する方法を示しています。ステートメントとプロシージャーを実行する:クエリコンソールでステートメントを実行するコードを入力して実行するターミナルに関しては、クエリコンソール...
イントロスペクションレベル
オブジェクト (テーブル、スキーマ、データベースなど) が多数ある場合、データベースユーザーはイントロスペクションに長い時間がかかることがあります。イントロスペクションは、オブジェクト名、列の種類、ソースコードなどのデータベースのメタデータを取得するプロセスです。DataGrip はこの情報を使用して、コーディング支援、ナビゲーション、検索を提供します。一部のデータベースでは、システムカタログが比較的遅く、ユーザーに高速カタログにアクセスする権限がない場合、イントロスペクションはさらに遅くなりま...
イントロスペクションの問題を報告する
イントロスペクションとは、データベースのメタデータを読み込むプロセスです。イントロスペクションを実行すると、データソース内の構造情報がインスペクションされ、テーブル、列、ルーチン、その他のデータベースオブジェクトとその属性が検出されます。イントロスペクションが問題にぶつかることがあります。次の状況が発生する可能性があります。遅いイントロスペクション: データベースオブジェクトの読み込みに時間がかかりすぎます。誤ったイントロスペクション: データベースに古いオブジェクトがあるか、データベースに新し...
データベースエクスプローラー
概要:データベースエクスプローラーでは、データベースと DDL データソースを操作できます。データベース内のデータ構造を表示および変更したり、その他の関連タスクを実行したりできます。使用可能なデータソースは、データソース、スキーマ、テーブルなどのツリーとして表示されます。現在データソースが定義されていない場合は、新規コマンドを使用してデータソースを作成し、データベースに接続します。データソースの詳細については、データソーストピックを参照してください。DataGrip がデータベースに接続される...
データソースおよびドライバーダイアログ
データソースおよびドライバーダイアログにアクセスするには、次のいずれかのアクションを実行します。データベースエクスプローラーで、データソースのプロパティボタンをクリックします。データベースエクスプローラーで、追加ボタンをクリックし、に移動します。に移動します。概要:データソースおよびドライバーダイアログでは、データソースとデータベースドライバを管理できます。左ペインのコントロールデータソースとドライバーのリストから項目を選択すると、その項目の設定がダイアログの右側に表示されます。ツールバー