DataGrip 2017.2:RedshiftおよびAzure、PostgreSQLの複数のデータベース、トランザクション制御などのサポート

こんにちは JetBrainsのIDEの新しいバージョンに関する一連の投稿を続けています。 DataGrip 2017.2の新機能について話しましょう。



-Amazon RedshiftおよびMicrosoft Azureのサポート

-1つのPostgreSQLソースに対する複数のデータベース

- トランザクション制御

-式の計算

-テーブルの分離されたDDLおよびデータタブ

-PostgreSQLおよびMySQLの リカバリツールとの統合

- クエリのトリガーに関連する改善

- コードの記述に関連する改善

その他...









Amazon RedshiftおよびMicrosoft Azureのサポート



クラウドテクノロジーは勢いを増しており、私たちはこれに対応しようとしています。 ユーザーは、トラッカーでそれらの一部、 特にRedshiftをサポートするよう求めました。







Microsoft AzureSQL Serverに似ています 。ドライバー、データソースを作成するためのインターフェイス、およびオブジェクトに関する情報の取得の改善を追加しました。 このプロセスは「イントロスペクション」と呼ばれます。



Amazon Redshiftのイントロスペクションはインクリメンタルになりました。操作後、DataGripは変更されたオブジェクトに関する情報のみを検索します。



彼らは、 PostgreSQLにはない文法の特定の部分をサポートしていました。 たとえば、 UNLOADは正しく強調表示され、引数文字列のクエリは通常のSQLのように処理されます-オートコンプリートとナビゲーションが機能します。







別の例: PostgreSQLにない関数をサポートしました。







Redshiftのコードで何かが赤で強調表示されていて、それが正しいことがわかっている場合、これはバグです。 このことについてトラッカーに書いてください。



SQL ServerPostgreSQLのドライバーを介してAzureRedshiftに接続した場合は、コンテキストメニューから必要なドライバーに切り替えてください。







単一のPostgreSQLソースの複数のデータベース



私たちは長い間このことを待っていまし 、そして待っていた人々に感謝します:)



これを行うために、カーネルの大部分を書き直し、現在も作業中です。 したがって、 PostgreSQLで複数のデータベースを使用することについてのあなたの意見は、私たちにとって特に重要です。







マルチデータベースデータソースは、 Amazon RedshiftMicrosoft Azure、およびドライバー自体がサポートしている場合はJDBC経由で接続する他のデータベースで動作するようになりました。



貿易管理



トランザクション制御により、 自動コミットオプション置き換えられました



各データソースのトランザクション制御のレベルを定義します。 手動モード( Manual )では、 COMMITを実行してトランザクションをコミットする必要があります。 自動モード( 自動 )-いいえ。







データベースがサポートしている場合、トランザクション制御のレベルは、コンソールごとに分離レベルIsolation level )とともに個別に決定できます。







データエディターの手動モードでは、2つのボタンが追加されました: コミットロールバック 。 これらのアクションは、コンテキストメニューでも使用できます。







次のように機能します。



自動および手動モード。



SubmitまたはCtrl / Cmd + Enterボタンを押すと、データがデータベースに送信されます。 ローカルの変更はロールアップされ、その時点まで強調表示され、DataGripセッション内に保存されていました。 ただし、 手動モードがある場合、このトランザクションはコミットされません



コンテキストメニューから選択元に戻すか、選択した行でCtrl / Cmd + Alt + Z押すと 、これらの行のローカルの変更がロールバックされます。 これは、以前はCtrl + Zによって呼び出されましたが、通常、このキーの組み合わせはロールバックではなくキャンセルを意味します。



手動モードのみ



コミットまたはShift + Ctrl + Alt + Enterボタンは、トランザクションをキャプチャします。 データベースに送信されないローカルの変更がある場合(思い出してください:強調表示)、コミットする前に自動的にデータベースに送信されます。



[ ロールバック ]ボタンは、コミットされていないトランザクションをロールバックします。





式の評価



これにより、別のリクエストを作成せずにデータをすばやく確認できます。



他のIDEと同様に、キーボードショートカットCtrl + Alt + F8を使用して、式の値をすばやく計算します。 この場合、式はデータベースオブジェクトの値を参照します。たとえば、テーブルの場合、データ自体です。







クエリの列の場合、これらは期待される結果の列の値です。







クエリ(またはサブクエリ)のキーワードに対して同じアクションを実行すると、その結果がポップアップウィンドウに表示されます。 Alt +クリックもこのために機能します







Alt + F8は、式を評価するための別のウィンドウを表示します。 「クイック」バージョンと同様に、テーブルについてはデータが表示されます。







ここでは、この古典的な意味で式を計算できます。







DDLテーブル



テーブルデータをソースコードから分離しました。DDLタブとデータタブはもうありません。



テーブルをダブルクリックすると、データが開きます。 DDLを表示するには、ツールバーの[ソースの編集]をクリックするか、テーブルのCtrl / Cmd + Bをクリックします。







SQLスクリプトのテーブル名でCtrl / Cmd + Bを押すと、同じDDLエディターが表示されます。 Ctrl / Cmd +クリックでも同じことができます。 以前のバージョンでは、このアクションはデータベースツリー内のオブジェクトを強調表示していました。 2017.2でこれを行うには、 Alt + F1を押して、 データベースビューを選択します 。 それが不便になった場合、私たちに書いてください:結局のところ、そのようなアクションのために、かつてワンクリックでしたが、今では2回クリックしました。



しかし、テーブルのデータエディターを開くのが簡単になりました。コードまたはツリーでF4を押すだけです。









PostgreSQLおよびMySQLのリカバリツールとの統合



2016.3では、 mysqldumppg_dumpをDataGripに統合しました。 これらのデータベースの回復ツールを統合することは論理的でしたが、前回Habrでそれを要求しました 。 それらはコンテキストメニューに表示されました。 たとえば、このコンテキストで使用できるツールが1つだけの場合、メニュー項目は「 Restore with pg_restore 」と呼ばれます。







データベースがPostgreSQLの場合、 pg_dumpまたはpsqlを使用できます。ダイアログの上部で選択します。







そして、ウィンドウはMySQLを探します







クエリを実行する



新しいアクションを追加- コンソールを接続します。 いつものように、 Ctrl + Shift + Aによるアクション検索またはファイルコンテキストメニューから呼び出されます。 目標は、添付する特定のコンソールのコンテキストでファイルを実行することです。



したがって、一連の複数のデータソースでスクリプトを実行できます。







要求されました :長い要求の完了の通知。 実行時間が20秒を超えるリクエストは、DataGrip内でこのような通知をスローします。 通知をオフにすることができます。通知名は「データベースクエリに時間がかかりました」です。







もう1つ質問がありました 。今、コンソールを切り替えると、コンソールから得られる結果も切り替わります。







そしてその逆:結果でタブを切り替えると、コンソールが切り替わります。







この動作がデフォルトになりました-オフにするには、歯車アイコンを使用して設定メニューの「 自動スクロール ..」オプションを探します。







別の小さな改善-サブクエリを使用してクエリを実行すると、デフォルトの選択ウィンドウには、以前のように内部クエリではなく外部クエリが含まれます。 多くの場合、内部クエリは完了できません。







MySQLの読み取り専用接続のスキーマスイッチを修正しました。







コード記述



自動補完は、テーブルを返す関数で機能するようになりました。







PostgreSQLのトリガーのNEWおよびOLDリンクは正しく処理されます。







MERGEオファーのサポートが追加されました。







スクリプトでサポートされているシーケンス。







残り



追加者:



-データベースオブジェクトをブックマークに追加できます。

-ファイルのインデックス作成はいつでも停止および続行できます。

-同じ行からのパス検索の検索結果は、1つの結果に結合されます。

-PostgreSQLでのALTER FOREIGN TABLEのサポート。

-Oracleの「 json_table 」関数のサポート。

-生成されたRedshiftの DDLのすべての属性を表示します。



修正済み:



-DBE-4600 、名前が変更されたスキーマは、すぐにスクリプトとツリーに表示されます。

-DBE-1288 、PostgreSQLでシーケンスの名前を変更してもクエリが中断されません。

-DBE-4507 、複合主キーを作成できるようになりました。

-DBE-4637 、GROUP BYを含むクエリは、存在しないエラーを報告しなくなりました。

-データエディタでのスクロールが高速化されました。



そしていつものように、 ここからダウンロード 、バグをここに報告してください。また、 フォーラムツイッター 、およびここのコメントにも返信します。



よろしくお願いします!

JetBrains



All Articles