PEMクエリツール

PEMには、Postgresサーバーに対してアドホックSQLクエリを発行できる機能豊富なインタラクティブ開発環境(IDE)が含まれています。

[ツール]メニューの[クエリツール]メニューオプション、またはブラウザツリーコントロールの選択ノードのコンテキストメニューからクエリツールにアクセスできます。クエリツールを使用すると、次のことができます。

  • アドホックSQLクエリを発行します。

  • 任意のSQLコマンドを実行します。

  • updatableの場合、SELECTクエリの結果セットを編集します 。

  • ユーザーが構成した現在の接続およびトランザクションのステータスを表示します。

  • 出力パネルに表示されるデータをCSVファイルに保存します。

  • テキスト、グラフィカル形式、または表形式(https://explain.depesz.comに類似)のSQLステートメントの実行計画を確認します。

  • SQLステートメントに関する分析情報を表示します。

Query tool window

クエリツール

クエリツールの複数のコピーを個別のタブで同時に開くことができます。クエリツールのコピーを閉じるには、タブバーの右上隅にある* X *をクリックします。

クエリツールには2つのパネルがあります:

  • 上部のパネルに* SQL Editor が表示されます。パネルを使用して、クエリを入力、編集、または実行できます。また、セッションで実行されたクエリを表示するために使用できる History タブと、編集中にテキストスニペットを保持するために使用できる Scratch Pad *も表示されます。スクラッチパッドが閉じている場合は、SQLエディターおよびその他のパネルを右クリックして新しいパネルを追加することにより、スクラッチパッドを再度開く(または追加のものを開く)ことができます。

  • 下のパネルには、*データ出力*パネルが表示されます。タブ付きパネルには、クエリによって返された結果セット、クエリの実行プランに関する情報、クエリの実行に関連するサーバーメッセージ、およびサーバーから受信した非同期通知が表示されます。

クエリツールツールバー

*クエリツール*ツールバーは、頻繁に実行されるタスクへのショートカットを提供する状況依存アイコンを使用します。アイコンが強調表示されている場合、オプションは有効になっています。アイコンがグレー表示されている場合、タスクは無効になっています。

Query tool toolbar

クエリツールツールバー

アイコンにカーソルを合わせると、アイコンの機能を説明するツールチップが表示されます。

アイコン

振る舞い

ショートカット

ファイルを開く

[ファイルを開く]アイコンをクリックして、以前に保存したクエリをSQLエディターに表示します。

アクセスキー+ O

保存

[保存]アイコンをクリックして、以前に保存したクエリのクイック保存を実行するか、[保存]メニューにアクセスします。

  • [保存]を選択して、選択したSQLエディターパネルのコンテンツをファイルに保存します。

  • [名前を付けて保存]を選択して新しいブラウザダイアログを開き、SQLエディタパネルの選択したコンテンツを保存する新しい場所を指定します。

アクセスキー+ S

データの変更を保存

[データの変更を保存]アイコンをクリックして、データ出力パネルのデータの変更(挿入、更新、または削除)をサーバーに保存します。

F6

検索

[検索]メニューを使用して、SQLエディターに表示されるコードを検索、置換、またはナビゲートします。

  • [検索]を選択して検索ターゲットを指定し、SQLエディターのコンテンツを検索します。

  • [次を検索]を選択して、検索ターゲットの次の出現箇所を見つけます。

  • [前を検索]を選択して、検索対象の最後の出現箇所に移動します。

  • Select Pesistent find to identify all occurrences of the search target within the editor.

  • Select Replace to locate and replace (with prompting) individual occurrences of the target.

  • Select Replace all to locate and replace all occurrences of the target within the editor.

  • [ジャンプ]を選択して、検索ターゲットの次の出現箇所に移動します。

Cmd + F

Cmd + G

Cmd + Shift + G

Cmd + Shift + F

Alt + G

コピー

*コピー*アイコンをクリックして、データ出力パネルで現在ハイライトされているコンテンツをコピーします。データの表示/編集モードのとき。

アクセスキー+ C

貼り付け

[貼り付け]アイコンをクリックして、データの表示/編集モードで以前の行を新しい行に貼り付けます。

アクセスキー+ P

削除

削除*アイコンをクリックして、選択した行を削除対象としてマークします。これらのマークされた行は、 Save Data Changes *アイコンをクリックすると削除されます。

アクセスキー+ D

編集

[編集]メニューのオプションを使用して、テキスト編集ツールにアクセスします。これらのオプションは、クエリツールモードのときに[SQLエディター]パネルに表示されるテキストに作用します。

  • *選択をインデント*を選択して、現在選択されているテキストをインデントします。

  • *選択のインデント解除*を選択して、現在選択されているテキストからインデントを削除します。

  • Select Inline Comment Selection to enclose any lines that contain the selection in SQL style comment notation.

  • Select Inline Uncomment Selection to remove SQL style comment notation from the selected line.

  • Select Block Comment to enclose all lines that contain the selection in C style comment notation. This option acts as a toggle.

タブ

Shift + Tab

Cmd + /

Cmd +。

Shift + Cmd + /

フィルター

*フィルター*アイコンをクリックして、データの表示/編集モードでデータのフィルターおよびソート基準を設定します。下矢印をクリックして、他のフィルタリングおよび並べ替えオプションにアクセスします。

  • [並べ替え/フィルター]をクリックして、並べ替えとフィルターのダイアログを開きます。

  • [選択でフィルタリング]をクリックして、選択したセルの値を含む行のみを表示します。

  • [選択範囲で除外]をクリックして、選択したセルに値を含まない行のみを表示します。

  • [*並べ替え/フィルターの削除]をクリックして、以前に選択した並べ替えまたはフィルターオプションを削除します。

アクセスキー+ F

制限セレクター

Select a value in the Limit Selector to limit the size of the dataset to a number of rows.

アクセスキー+ R

停止

*停止*アイコンをクリックして、現在実行中のクエリの実行をキャンセルします。

アクセスキー+ Q

実行/更新

[実行/更新]アイコンをクリックして、SQLエディターパネルで強調表示されているクエリを実行または更新します。下矢印をクリックして、他の実行オプションにアクセスします。

  • Add a check next to Auto-Rollback to instruct the server to automatically roll back a transaction if an error occurs during the transaction.

  • Add a check next to Auto-Commit to instruct the server to automatically commit each transaction. Any changes made by the transaction will be visible to others, and durable in the event of a crash.

F5

説明

Click the Explain icon to view an explanation plan for the current query. The result of EXPLAIN is displayed graphically on the Explain tab of the output panel, and in text form on the Data Output tab.

F7

分析の説明

Click the Explain analyze icon to invoke an EXPLAIN ANALYZE command on the current query.

Navigate through the Explain Options menu to select options for the EXPLAIN command:

  • Select Verbose to display additional information regarding the query plan.

  • Select Costs to include information on the estimated startup and total cost of each plan node, as well as the estimated number of rows and the estimated width of each row.

  • [バッファ]を選択して、バッファの使用に関する情報を含めます。

  • Select Timing to include information about the startup time and the amount of time spent in each node of the query.

  • Select Summary to include the summary information about the query plan.

Shift + F7

コミット

Click the Commit icon to commit the transaction.

Shift + Ctrl + M

ロールバック

[ロールバック]アイコンをクリックして、トランザクションをロールバックします。

Shift + CTRL + R

クリア

[クリア]ドロップダウンメニューのオプションを使用して、表示内容を消去します。

  • [クエリウィンドウのクリア]を選択して、SQLエディターパネルの内容を消去します。

  • [*履歴] *を選択して、[*履歴]タブの内容を消去します。

アクセスキー+ L

Download as CSV

Click the Download as CSV icon to download the result set of the current query to a comma-separated list. You can specify the CSV settings through Preferences -> SQL Editor -> CSV output dialogue.

F8

SQLエディターパネル

The SQL editor panel is a workspace where you can manually provide a query, copy a query from another source, or read a query from a file. The SQL editor features syntax coloring and auto-completion.

Query tool editor

オートコンプリートを使用するには、クエリの入力を開始します。クエリエディターで、クエリの次のオブジェクト名またはコマンドを提案する場合は、Ctrl +スペースキーの組み合わせを押します。たとえば、``/ * SELECT / * FROM / *``と入力し(引用符なし、末尾にスペースを含む)、Ctrl +スペースキーを押して、オートコンプリートオプションのポップアップメニューから選択します。

Query tool autocomplete feature

クエリを入力した後、ツールバーから*実行/更新*アイコンを選択します。 SQLエディターパネルの完全な内容は、実行のためにデータベースサーバーに送信されます。 SQLエディターに表示されるコードのセクションのみを実行するには、サーバーで実行するテキストを強調表示し、*実行/更新*アイコンをクリックします。

Query tool execute query section

コマンドの実行時にサーバーから返されるメッセージは、* Messages タブに表示されます。コマンドが成功すると、 Messages *タブに実行の詳細が表示されます。

Query tool message panel

[編集]メニューのオプションには、コードのフォーマットとコメントに役立つ機能があります。

  • 自動インデント機能は、Returnキーを押すと、前の行と同じ深さまでテキストを自動的にインデントします。

  • 2行以上を選択してTabキーを押すことにより、インデントテキストをブロックします。

  • コード内でSQLスタイルのコメント表記を実装または削除するか、Cスタイルのコメント表記を切り替えます。

ツリービューから特定のオブジェクトを**ドラッグアンドドロップ**することもできます。これにより、長いオブジェクト名を入力する時間を節約できます。オブジェクト名を含むテキストは、スキーマで完全修飾されます。必要に応じて二重引用符が追加されます。関数とプロシージャの場合、関数名とパラメーター名がクエリツールに貼り付けられます。

データ出力パネル

The Data Output panel displays data and statistics generated by the most recently executed query.

Query tool output panel

データ出力タブ

[データ出力]タブには、クエリの結果セットが表形式で表示されます。次のことができます。

  • 表示された結果セットから選択してコピーします。

  • Use the Execute/Refresh options to retrieve query execution information and set query execution options.

  • Use the Download as CSV icon to download the content of the Data Output tab as a comma-delimited file.

  • 更新可能な場合は、SELECTクエリの結果セットのデータを編集します。

結果セットは、次の場合に更新可能です。

  • すべての列は、単一のテーブルから直接選択されるか、実際にはテーブル列ではありません(2列の連結など)。テーブルから直接選択された列のみが編集可能で、他の列は読み取り専用です。

  • 結果セットで、テーブルのすべての主キー列またはOIDが選択されます。

複数回名前変更または選択された列も読み取り専用です。

注釈

更新可能なクエリ結果セットを使用するには、 psycopg2 ドライバーバージョン2.8以上がインストールされている必要があります。

編集可能で読み取り専用の列は、列ヘッダーの鉛筆アイコンとロックアイコンを使用してそれぞれ識別されます。

Query tool editable and read-only columns

クエリツールの編集可能な列

更新可能な結果セットは、データの表示/編集モードのデータグリッドに似ており、同じ方法で変更できます。

自動コミットがオフの場合、進行中のトランザクションの一部としてデータの変更が行われ、進行中のトランザクションがない場合、新しいトランザクションが開始されます。トランザクションがコミットされない限り、データの変更はデータベースにコミットされません。

保存中にエラーが発生した場合(たとえば、NOT NULL制約のある列にNULLを保存しようとすると)、データの変更は自動的に作成されたSAVEPOINTにロールバックされ、進行中のトランザクションで以前に実行されたクエリがロールバックされないようにします。

All rowsets from previous queries or commands that are displayed in the Data Output panel will be discarded when you invoke another query; open another query tool browser tab to keep your previous results available.

説明タブ

クエリの* Explain または Explain Analyze プランを生成するには、ツールバーの Explain または Explain Analyze *ボタンをクリックします。

More options related to Explain and Explain Analyze can be selected from the drop down on the right side of Explain Analyze button in the toolbar.

Query tool toolbar explain button

pgAdminは* Explain [Analyze] *プランをJSON形式で生成することに注意してください。

On successful generation of Explain plan, it will create three tabs/panels under the Explain panel.

  • グラフィカル

    Please note that EXPLAIN VERBOSE cannot be displayed graphically. Hover over an icon on the Graphical tab to review information about that item; a popup window will display information about the selected object. For information on JIT statistics, triggers and a summary, hover over the icon on top-right corner; a similar popup window will be displayed when appropriate.

    *説明*キャンバスの左上隅にあるダウンロードボタンを使用して、プランをSVGファイルとしてダウンロードします。

    注: Internet ExplorerではSVGとしてのダウンロードはサポートされていません。

    Query tool graphical explain plan

    Note that the query plan that accompanies the Explain analyze is available on the Data Output tab.

  • 分析

    [分析]タブには、プランの詳細が表形式で表示され、* explain.depsez.com に似た表形式が生成されます。表の各行は、 Explain Plan Node *のデータを表します。ノード情報、排他的タイミング、包括的タイミング、実際の行と計画された行の違い、実際の行、計画された行、ループが含まれる場合があります。行を選択すると、選択した行の子行にオレンジ色の点が付きます。

    排他的、包括的、および行X列の背景色は、実際の列と計画された列の違いに基づいて異なる場合があります。

    合計クエリ時間の排他的/包括的タイミングの割合が次の場合:

    > 90-赤色

    > 50-オレンジ(赤と黄色の間)色

    > 10-黄色

    計画者が行数(実際と計画)を誤って推定した場合

    10回-黄色

    100回-オレンジ(赤と黄色の間)色

    1000回-赤色

    Query tool explain plan table
  • 統計

    *統計*タブには2つのテーブルが表示されます。1.プランノードタイプごとの統計2.テーブルごとの統計

    Query tool explain plan statistics

メッセージタブ

Use the Messages tab to view information about the most recently executed query:

Query tool output messages

サーバーがエラーを返すと、エラーメッセージが[メッセージ]タブに表示され、エラーの原因となった構文にSQLエディターで下線が引かれます。クエリが成功すると、 Messages *タブに、クエリの完了にかかった時間と取得された行数が表示されます。

Query tool output information

通知タブ

Use the Notifications tab to view details of the asynchronous notifications that a client process may have sent:

Query tool output messages

非同期通知イベントの記録時間、イベントまたはチャネルの名前、通知を送信したクライアントプロセスのプロセスID、通知とともに送信されたペイロード文字列などの詳細を確認できます。

クエリ履歴パネル

Use the Query History tab to review activity for the current session:

Query tool history panel

[クエリ履歴]タブには、最近のコマンドに関する情報が表示されます。

  • クエリが呼び出された日時。

  • クエリのテキスト。

  • クエリによって返される行の数。

  • サーバーがクエリを処理して結果セットを返すのにかかった時間。

  • サーバーから返されたメッセージ(* Messages *タブには記載されていません)。

  • クエリのソース(ツールバーに対応するアイコンで示されます)。

pgAdminによって内部的に生成されたクエリを表示または非表示にすることができます(``データの表示/編集``または``データの保存``操作中)。

[クエリ履歴]タブのコンテンツを消去するには、[クリア]ドロップダウンメニューから[履歴のクリア]を選択します。

クエリ履歴は、クエリツールモードで実行している場合、ユーザーごとに各データベースのセッションにわたって維持されます。データの表示/編集モードでは、履歴は保持されません。デフォルトでは、最後の20個のクエリが各データベースに保存されます。これは、 MAX_QUERY_HIST_STORED`値をオーバーライドすることで config_local.py`で調整できます。

接続状態

*接続ステータス*機能を使用して、クエリツールのステータスアイコンをクリックして、現在の接続およびトランザクションのステータスを表示します。

Query tool connection and transaction status

サーバーが切断されると、左上隅の接続アイコンが赤に変わり、ツールヒントが表示されます。サーバー接続を復元すると、アイコンが緑色に変わります。

Query tool connection and transaction status error