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

Source: https://habr.com/ru/post/J334800/


All Articles