Docker コンテナーで PostgreSQL Sakila データベースを実行する
Docker プラグインをインストールする
この機能は、インストールして有効にする必要がある Docker(英語) プラグインに依存しています。
Ctrl+Alt+S を押して設定を開き、を選択します。
マーケットプレースタブを開き、Docker プラグインを見つけて、インストールをクリックします (プロンプトが表示されたら、IDE を再起動します)。
ステップ 1. リポジトリからファイルを複製する
例として、次の 2 つのリポジトリを使用します。Sakila ダンプファイル(https://github.com/DataGrip/dumps(英語))と Docker-compose ファイル(https://github.com/DataGrip/datagrip-documentation(英語))です。Sakila リポジトリには、Sakila データベースの構造を生成するスクリプトと、データベースオブジェクトにデータを追加するスクリプトが含まれています。Docker リポジトリには、サービス、ネットワーク、ボリュームを定義する YAML ファイルが含まれています。
VCS 連携を有効にする
メニューの「」をクリックします。
VCS 連携を有効にするダイアログで、ドロップダウンリストで
Gitが選択されていることを確認し、OK をクリックします。
リポジトリのクローン
をクリックします。
URL フィールドに、次の Web URL をコピーして貼り付けます。
Sakila ダンプファイル:
https://github.com/DataGrip/dumps.gitDocker-compose ファイル:
https://github.com/DataGrip/datagrip-documentation.git
ディレクトリフィールドで、フォルダーアイコン(
)をクリックして、リポジトリファイルのディレクトリを指定します。

ステップ 2. Docker コンテナーを実行する
このチュートリアルでは、Docker 用の PostgreSQL コンテナーを実行します(datagrip-documentation リポジトリから)。リポジトリの Docker ディレクトリには、.env ファイルと docker-compose.yml ファイルがあります。.env には、PostgreSQL サービスの資格情報が含まれています。docker-compose.yml は、サービスの作成方法と構成方法を定義します。
サービス名は、サービス定義の最初の行(JDBC URL の前)です。この例では、サービス名は postgresql_12、JDBCURL は jdbc:postgresql://localhost:54333/guest?user=guest&password=guest です。
次のコマンドを実行して、コマンドラインからコンテナーを実行できます。
最初に docker-compose.yml ファイルのディレクトリに移動する必要があることに注意してください。
または、DataGrip で Docker プラグインを有効にして使用することもできます。
Docker デーモンに接続する
Ctrl+Alt+S を押して設定を開き、 を選択します。
をクリックして Docker 構成を追加し、Docker デーモンへの接続方法を指定します。
接続設定は、Docker のバージョンとオペレーティングシステムによって異なります。
ダイアログの下部に接続完了メッセージが表示されます。

Windows で Docker または macOS を使用するときに、Docker デーモンを実行している仮想マシンにローカルパスをマッピングする方法の詳細については、Windows および macOS ホストの仮想マシンパスマッピングを参照してください。マッピングされたローカルパスの外部にあるディレクトリに対してボリュームやバインドマウントを使用することはできません。
このテーブルは、Docker がネイティブに実行され、任意のディレクトリをコンテナーにマウントできる Linux ホストでは使用できません。
サービスツールウィンドウ (または Alt+8) を開き、構成済みの Docker 接続ノード
を選択して
をクリックするか、コンテキストメニューから接続を選択します。

Docker 接続設定を編集するには、Docker ノードを選択してツールバーの
をクリックするか、コンテキストメニューから構成の編集を選択します。
をクリックして Docker 接続を選択し、サービスツールウィンドウから直接 Docker 接続を追加することもできます。Docker コンテキスト(英語)が構成されている場合は、Docker コンテキストからの Docker 接続を選択して、対応する接続を追加できます。
Docker compose 実行構成を作成する
(オプション) メインツールバーを右クリックし、を選択します。メインツールバーにウィジェットを追加する方法の詳細については、ツールバーにアクションをすばやく追加するを参照してください。
次のいずれかを実行して実行 / デバッグ構成ダイアログを開きます。
に進みます。または、Alt+Shift+F10 を押してから 0 を押します。
メインツールバーのウィジェットの実行をクリックし、実行構成の編集を選択します。
実行 / デバッグ構成ダイアログで、新規構成の追加アイコン(
)をクリックし、 を選択します。
名前フィールドに、構成の名前を入力します。
ファイルを作成するフィールドの参照アイコンをクリックします。
Docker Compose 構成ファイルダイアログで、追加ボタンをクリックして、作成ファイルに移動します。Compose YAML ファイルは、サービス、ネットワーク、ボリュームを定義します。私たちの場合、docker-compose.yml です
Docker Compose 構成ファイルダイアログで、OK をクリックします。
docker compose 上セパレーターの変更をクリックし、を選択します。
サービスフィールドに
postgresql_12と入力します。実行をクリックします。

その結果、サービスツールウィンドウに postgresql_12 実行中のコンテナーが表示されます。

ステップ 3. データソースに接続する
データベースベンダー(MySQL、PostgreSQL、Oracle)に応じて、対応するデータソース接続を作成する必要があります。このチュートリアルでは、PostgreSQL 接続を作成します。他のデータベース管理システム(DBMS)に接続する場合は、データソースを作成するを参照してください。
データソースのプロパティを開きます。次のいずれかのオプションを使用して、データソースのプロパティを開くことができます。
に移動します。
Ctrl+Alt+Shift+S を押します。
データベースエクスプローラー ⌘ 1 () で、データソースのプロパティアイコン (
) をクリックします。

データソースおよびドライバーダイアログで、追加アイコン(
)をクリックし、PostgreSQL を選択します。
接続設定領域の下部に「不足しているドライバーファイルをダウンロード」リンクがあるかどうかを確認します。このリンクをクリックして、データベースと対話するために必要なドライバーをダウンロードします。直接ダウンロードリンクについては、JetBrains JDBC ドライバーページを参照してください。
ダウンロードされた JDBC ドライバーの場所は DataGrip 構成ディレクトリです。

提供されているドライバーの代わりにデータベース用のドライバーを使用することもできます。ドライバーを使用したデータベースへの接続の詳細については、「既存の接続にユーザードライバーを追加する」を参照してください。
不足しているドライバーファイルをダウンロードリンクがない場合は、必要なドライバーがすでに存在します。
URL フィールドに、次の JDBC URL をコピーして貼り付けます。
jdbc:postgresql://localhost:54333/guest?user=guest&password=guestdocker-compose.yml で他の DBMS の JDBC URL を見つけます。docker-compose.yml はテキストエディターで開くことができます。
(オプション)名前フィールドで、現在の名前を削除し、接続の新しい名前を入力します(たとえば、PostgreSQL)。
提供された詳細を使用してデータベースへの接続を確立できることを確認します。これを行うには、接続の詳細領域の下部にある接続のテストリンクをクリックします。

接続に問題がある場合は、データベースに接続できませんページを参照してください。
(オプション) デフォルトでは、デフォルトのデータベースとスキーマのみがイントロスペクトされ、使用可能になります。他のデータベースやスキーマも操作したい場合は、「スキーマ」タブで、イントロスペクション用に選択します。

OK をクリックして、データソースを作成します。

ステップ 4. プロジェクトにディレクトリをアタッチする
DataGrip のプロジェクトからダンプファイルを実行するには、ダンプファイルを含むディレクトリをアタッチします。
次のいずれかの方法でファイルツールウィンドウを開くことができます。
メインメニューで、に移動します。
ツールウィンドウバーで、
ファイルをクリックします。
Alt+2 を押します。
ファイルツールウィンドウで、ツールバーのディレクトリをプロジェクトにアタッチボタン (
) をクリックします。
または、ファイルツールウィンドウの領域を右クリックし、ディレクトリをプロジェクトにアタッチを選択します。
ファイルブラウザーで、添付するディレクトリに移動します。この場合は、dumps ディレクトリです。
オープンをクリックします。

ステップ 5. ダンプファイルを実行する
データベース構造を作成する
ファイル()ツールウィンドウで、postgres-sakila-db ツリーノードに移動します。
postgres-sakila-db ツリーノードを展開します。
postgres-sakila-schema.sql を右クリックして postgres-sakila-schema .sql を実行するを選択します。または、postgres-sakila-schema.sql ファイルをクリックして Ctrl+Shift+F10 を押します。
構成の編集ダイアログで、追加ボタンをクリックし、PostgreSQL を選択します。
実行を押します。

サンプルデータをデータベースにロードする
ファイル()ツールウィンドウで、postgres-sakila-db ツリーノードに移動します。
postgres-sakila-db ツリーノードを展開します。
postgres-sakila-insert-data.sql を右クリックして Run postgres-sakila-insert-data.sql を選択します。または、postgres-sakila-insert-data.sql ファイルをクリックして Ctrl+Shift+F10 を押します。
構成の編集ダイアログで、追加ボタンをクリックし、PostgreSQL を選択します。
実行を押します。

ステップ 6. データベースを操作する
構造がインポートされ、データベースにデータが入力されると、作業を開始できます。
DataGrip でのデータベースオブジェクトの操作の詳細については、「データベースオブジェクト」を参照してください。
クエリを作成して実行するには、データソースをクリックして F4 を押し、既定のクエリコンソールを開きます。
データベースオブジェクトのデータを表示および編集するには、オブジェクトをダブルクリックしてデータエディターとビューアーを開きます。

関連ページ:
Docker 接続設定
DataGrip から Docker エンジン API にアクセスするための設定を指定します。Docker と DataGrip の統合の使用方法の詳細については、「Docker」を参照してください。Docker プラグインをインストールするこの機能は、インストールして有効にする必要がある Docker プラグインに依存しています。を押して設定を開き、を選択します。マーケットプレースタブを開き、Docker プラグインを見つけて、インストールをクリックします (プロンプトが表示されたら、IDE を再起...
メニューおよびツールバー
IDE を操作するとき、いくつかのアクションを他のアクションより頻繁に実行します。生産性を最大化するには、お気に入りのアクションのデフォルトのショートカットを学ぶか、それらにショートカットを割り当てます。メニューとツールバーをカスタマイズして、必要なアクションのみを含め、再グループ化し、アイコンを構成することもできます。メニューとツールバーのカスタマイズを押して設定を開き、を選択します。使用可能なメニューとツールバーのリストで、カスタマイズするノードを展開し、目的の項目を選択します。選択した項目...
データソース
データソースは接続構成です。データベースへの接続を確立するために使用される接続の詳細のリストが保存されます。例: ホスト、ポート、データベース名、ドライバー、SSH および SSL 構成設定など。データソース設定では、イントロスペクション用のデータベースとスキーマを選択し、データベースエクスプローラーで表示したり、接続用のドライバーを変更したりすることもできます。データソースおよびドライバーダイアログ () でデータソースを設定できます。ダイアログにアクセスするには、データベースエクスプローラー...
IDE で使用されるディレクトリ
デフォルトでは、DataGrip は、各 IDE インスタンスのユーザー固有のファイル(構成、キャッシュ、プラグイン、ログなど)をユーザーのホームディレクトリに保存します。ただし、必要に応じて、これらのファイルを保存する場所を変更できます。IDE ディレクトリの場所を変更するたとえば、ユーザープロファイルドライブの容量が不足している場合や低速ディスクにある場合、ホームディレクトリが暗号化されている(IDE の速度が低下している)場合、またはネットワークドライブにある場合は、デフォルトの IDE...
JDBC ドライバー
DataGrip には、インストールパッケージのサイズを小さくし、各 IDE バージョンに合わせてドライバーバージョンを最新に保つために、バンドルドライバーは含まれていません。IDE 内および手動で JDBC ドライバーをダウンロードできます。データソースおよびドライバーダイアログ () でデータベース接続用の新しいデータソースを作成すると、不足しているドライバーをダウンロードするためのリンクが DataGrip によって提供されます。直接ダウンロードリンクについては、JetBrains JDB...
データベースに接続できません
ステップ 1. ネットワーク設定を確認する:データベースは、ローカル、サーバー、クラウドで動作できます。サーバーおよびクラウドデータベースの場合、ネットワーク接続が必要です。接続が利用可能かどうかを確認するには、ping コマンドと telnet コマンドを使用します。ping コマンドを使用すると、移行先コンピューターが移行元コンピューターから到達可能であることを確認できます。コマンドラインを開き、コマンドを入力します。は、アドレスをホスト名に解決するコマンドオプションです(可能な場合)。ping...