接続の構成
データベースツールおよび SQL プラグインを有効化
この機能は、PhpStorm にデフォルトでバンドルされ有効化されている データベースツールおよび SQL プラグインに依存しています。 関連機能が利用できない場合は、プラグインを無効化していないことを確認してください。
Ctrl+Alt+S を押して設定を開き、 を選択します。
インストール済み タブを開き、 データベースツールおよび SQL プラグインを見つけて、プラグイン名の横にあるチェックボックスを選択します。
データソースを作成すると、PhpStorm は自動的にデータベースに接続し、デフォルトまたは選択したスキーマを 調査します。
接続オプション
接続のタイムゾーンを設定する
次のいずれかの方法でデータソースのプロパティを開きます。
データベース ツールウィンドウのツールバーで、
データソース をクリックします。
Shift+Enter を押します。

変更するデータソースを選択して オプション タブをクリックします。
タイムゾーン フィールドに使用するタイムゾーンの入力を開始します。
設定を適用して OK をクリックします。

接続を維持する
指定した期間の経過後にキープアライブクエリを実行することで、データベースへの接続を維持することができます。 サポートされていないデータベースのドライバ設定でカスタムクエリを定義できます。
次のいずれかの方法でデータソースのプロパティを開きます。
データベース ツールウィンドウのツールバーで、
データソース をクリックします。
Shift+Enter を押します。

データソース タブで、変更するデータソースを選択します。
オプション タブで、 キープアライブクエリの実行間隔 チェックボックスを選択し、PhpStorm が再度キープアライブクエリを実行するまでの秒数を入力します。
指定された期間内にデータベースから切断する
PhpStorm が接続を終了するまでの期間を秒数で指定できます。
次のいずれかの方法でデータソースのプロパティを開きます。
データベース ツールウィンドウのツールバーで、
データソース をクリックします。
Shift+Enter を押します。

データソース タブで、変更するデータソースを選択します。
オプション タブで、 次の時間が経過した後に自動切断 チェックボックスを選択し、PhpStorm が接続を終了するまでの秒数を入力します。
接続を確立するときに実行する事前定義クエリを設定する
次のいずれかの方法でデータソースのプロパティを開きます。
データベース ツールウィンドウのツールバーで、
データソース をクリックします。
Shift+Enter を押します。

データソース タブで、変更するデータソースを選択します。
オプション タブの スタートアップスクリプト フィールドで、データベースへの接続で実行する予定のクエリを指定します。

データベースの状態をリフレッシュする
誰かがリモートデータベースのデータやビューを変更した場合、データベースのローカルビューは実際の状態と異なる可能性があります。
次のいずれかの方法でデータソースのプロパティを開きます。
データベース ツールウィンドウのツールバーで、
データソース をクリックします。
Shift+Enter を押します。

データソース タブで、変更するデータソースを選択します。
オプション タブで、 自動同期 チェックボックスを選択します。
自動同期 チェックボックスがオフの場合、ツールバーの リフレッシュ アイコン (
) をクリックするか、 Ctrl+F5 を押した場合にのみ、 データベース ツールウィンドウ内のデータソースのビューがデータベースの実際の状態と同期されます。

オブジェクトフィルターでオブジェクトをフィルター処理する
次のいずれかの方法でデータソースのプロパティを開きます。
データベース ツールウィンドウのツールバーで、
データソース をクリックします。
Shift+Enter を押します。

データソース タブで、変更するデータソースを選択します。
スキーマ タブで、 オブジェクトフィルター フィールドにフィルタリングオプションを入力します。
オブジェクトフィルター フィールドの式を作成するときは、次のパターンを使用してください。
<type>:[-]<pattern>、ここ<type>は、集計、照合、イベント、fdw、ftable、mview、演算子、パッケージ、ロール、ルーチン、シーケンス、シノニム、表、ユーザー、ビュー、vtable のいずれかです。<pattern>は正規表現です。 項目を除外するには、先頭に-(マイナス) を付けます。 正規表現の詳細については、JavaTM 2 Platform Standard Edition 5.0 API 仕様の クラスパターン(英語)を参照してください。

データベースとスキーマをフィルタリングする
次のいずれかの方法でデータソースのプロパティを開きます。
データベース ツールウィンドウのツールバーで、
データソース をクリックします。
Shift+Enter を押します。

データソース タブで、変更するデータソースを選択します。
スキーマ タブで、 スキーマパターン フィールドにフィルタリングオプションを入力します。
@: 現在のデータベースまたはスキーマ*: すべてのデータベースまたはスキーマ。*:の後にスキーマを列挙できます。
次の例を参照してください:
*:*: すべてのデータベース内のすべてのスキーマ@:*: 現在のデータベースからのすべてのスキーマ@:@: 現在のスキーマのみ*:dbo|@:@|db1:s1,s2,s3: すべてのデータベースのdboスキーマ、現在のスキーマ、db1データベースのスキーマs1,s2,s3
接続モード
接続の読み取り専用モードを有効にする
次のいずれかの方法でデータソースのプロパティを開きます。
データベース ツールウィンドウのツールバーで、
データソース をクリックします。
Shift+Enter を押します。

データソース タブで、変更するデータソースを選択します。
オプション タブで、 読み取り専用 チェックボックスを選択します。

単一セッションモード
単一セッションモード とは、データソースとすべての クエリコンソール が同じ接続を使用することを意味します。 このモードでは、データベースツリーで一時オブジェクトを確認したり、複数のクエリコンソールsで同じトランザクションを利用したりできます。 クエリコンソールsの詳細については、 クエリコンソール を参照してください。
単一セッションモード を適用する場合、開いているすべての接続を閉じる必要があります。 開いている接続がある場合、PhpStorm に通知が表示されます。 選択したデータソースの開いている接続を閉じるには、 はい をクリックします。 変更されたすべてのデータソースの開いている接続を閉じるには、 すべてに対して「はい」 をクリックします。
次のいずれかの方法でデータソースのプロパティを開きます。
データベース ツールウィンドウのツールバーで、
データソース をクリックします。
Shift+Enter を押します。

データソース タブで、変更するデータソースを選択します。
オプション タブで、 単一セッションモード を選択します。
適用 をクリックしてください。

単一データベースモード
データソースに接続すると、PhpStorm はそのデータソースが持つ全てのデータベースを取得して表示できます。 ただし、場合によっては(たとえば、PgBouncer の特定の設定を使用して)、特定のデータベースでのみ操作できるか、許可されています。 単一データベースモード を有効にすると、データベースツリービューには接続設定で指定したデータベースのみが表示され、データソースから取得したすべてのデータベースは表示されません。
PostgreSQL、Azure SQL Database、Greenplum、Amazon Redshift の場合は、この設定の使用を検討してください。
次のいずれかの方法でデータソースのプロパティを開きます。
データベース ツールウィンドウのツールバーで、
データソース をクリックします。
Shift+Enter を押します。

データソース タブで、変更するデータソースを選択します。
オプション タブで、 単一データベースモード を選択します。
適用 をクリックしてください。

トランザクション制御
PhpStorm では、トランザクションをデータベースにコミットする方法のいずれかを選択でき、トランザクションの分離レベルも選択できます。
トランザクションモード
コミットによってトランザクションが終了し、他のユーザーがすべての変更を利用できるようになります。 PhpStorm では、トランザクションをコミットする方法:自動または手動を選択できます。
データエディターは、行ったすべての変更を蓄積します。 送信 をクリックすると、PhpStorm はこれらの変更を送信し、選択したコミットモードに従って処理します:
Tx: 自動 モードでは、
送信 をクリックすると、PhpStorm はすべての変更を自動的にコミットします。
Tx: 手動 モードでは、変更内容はトランザクションとしてデータベースに保存されます。
送信とコミット をクリックすると、トランザクションがデータベースにコミットされます。 トランザクションをコミットすると、
送信とコミット ボタンが無効(グレー表示)になります。 これは、すべてのトランザクションがコミットされたことを意味します。
コミットモードが Tx: 自動 に設定されている場合、値、行、列の変更はすべて暗黙的にコミットされ、ロールバックすることはできません。 Tx: 自動 コミットモードでは、 送信とコミット および
ロールバック ボタンは無効になり、非表示になります。
コミットモードが Tx: 手動 に設定されている場合、 送信 または
ロールバック をクリックすることで、送信した変更を明示的に送信またはロールバックできます。 データベースに変更をコミットするには、
送信とコミット をクリックします。
トランザクションの分離
Tx スイッチは、トランザクションの 分離レベル(英語)を選択するためにも使用できます。
利用可能なトランザクション分離レベルのリストは、DBMS によって異なります。
データソースのデフォルトのトランザクション制御設定を行います
データエディターでトランザクション制御設定を変更する
データエディターのツールバーで、トランザクション制御のドロップダウンをクリックします。
リストからトランザクションモードと分離レベルを選択してください。

変更を自動的に送信する
デフォルトでは、 送信 をクリックするか、 Ctrl+Enter を押さない限り、変更はデータベースに送信されません。 すぐに変更を送信する オプションを有効にすると、変更が自動的に送信されます。
設定 Ctrl+Alt+S で、 に移動します。
データ変更 の すぐに変更を送信する を選択してください。
OK をクリックしてください。

