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

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

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

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

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

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

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

データソース タブで、変更するデータソースを選択します。
Options タブで、 自動同期 チェックボックスをオンにします。
自動同期 チェックボックスがオフの場合、ツールバーの 更新 アイコン (
) をクリックするか、 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 を押します。

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

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

データソース タブで、変更するデータソースを選択します。
Options タブで、 単一データベースモード を選択します。
適用 をクリックします。

トランザクション制御
PhpStorm では、トランザクションをデータベースにコミットするための利用可能な方法のいずれかを選択できるほか、トランザクションの分離レベルを選択することもできます。
Transaction mode
コミットによってトランザクションが終了し、他のユーザーがすべての変更を利用できるようになります。 PhpStorm では、トランザクションをコミットする方法 (自動または手動) を選択できます。
データエディターは、行ったすべての変更を蓄積します。 サブミット をクリックすると、PhpStorm はこれらの変更を送信し、選択したコミットモードに従って処理します。
- Tx: 自動
Tx: 自動 モードでは、
サブミット をクリックすると、PhpStorm がすべての変更を自動的にコミットします。
- Tx: 手動
Tx: 手動 モードでは、変更内容はトランザクションとしてデータベースに保存されます。
送信とコミット をクリックすると、トランザクションがデータベースにコミットされます。 トランザクションをコミットすると、
送信とコミット ボタンが無効(グレー表示)になります。 これは、すべてのトランザクションがコミットされたことを意味します。
- Tx:透過的
このモードは クエリコンソールs でのみ切り替えられます。
Tx:透過的 モードでは、IntelliJ IDEA は実行したステートメントのみを送信します。 トランザクションは Tx: 手動 モードの場合と同様に手動でコミットしますが、IDE は分離レベルの読み取り、現在の検索パスの再読み取り、またはステートメントの前後で一時セーブポイントを作成するための SQL ステートメントを自動的に発行しません。
接続を確立するとき、IntelliJ IDEA は引き続き現在の検索パスを読み取り、別の検索パスが設定されている場合はそれを設定します。
Tx:透過的 は、データソースまたはドライバーのデフォルトのトランザクションモードとして設定できません。 セッションのトランザクションモードへの変更はそのセッションにのみ適用され、データソースのデフォルトモードは変更されません。 新しいセッションでは、データソースでの設定に従って Tx: 自動 または Tx: 手動 が使用されます。
コミットモードが Tx: 自動 に設定されている場合、値、行、列の変更はすべて暗黙的にコミットされ、ロールバックすることはできません。 Tx: 自動 コミットモードでは、 送信とコミット および
ロールバック ボタンは無効になり、非表示になります。
コミットモードが Tx: 手動 に設定されている場合、 サブミット または
ロールバック をクリックすることで、送信した変更を明示的に送信またはロールバックできます。 データベースに変更をコミットするには、
送信とコミット をクリックします。
トランザクションの分離
Tx スイッチは、トランザクションの 分離レベル(英語)を選択するためにも使用できます。
利用可能なトランザクション分離レベルのリストは、DBMS によって異なります。
データソースのデフォルトのトランザクション制御設定を行います
データエディターでトランザクション制御設定を変更する
データエディターのツールバーで、トランザクション制御のドロップダウンをクリックします。
リストからトランザクションモードと分離レベルを選択してください。

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

