PEMクエリツール¶
PEMには、Postgresサーバーに対してアドホックSQLクエリを発行できる機能豊富なインタラクティブ開発環境(IDE)が含まれています。
[ツール]メニューの[クエリツール]メニューオプション、またはブラウザツリーコントロールの選択ノードのコンテキストメニューからクエリツールにアクセスできます。クエリツールを使用すると、次のことができます。
アドホックSQLクエリを発行します。
任意のSQLコマンドを実行します。
ユーザーが構成した現在の接続およびトランザクションのステータスを表示します。
出力パネルに表示されるデータをCSVファイルに保存します。
テキスト、グラフィカル形式、または表形式(https://explain.depesz.comに類似)のSQLステートメントの実行計画を確認します。
SQLステートメントに関する分析情報を表示します。
The PEM Query Tool¶
クエリツールの複数のコピーを個別のタブで同時に開くことができます。クエリツールのコピーを閉じるには、タブバーの右上隅にある* X *をクリックします。
クエリツールには2つのパネルがあります:
上部のパネルに* SQL Editor が表示されます。パネルを使用して、クエリを入力、編集、または実行できます。また、セッションで実行されたクエリを表示するために使用できる History タブと、編集中にテキストスニペットを保持するために使用できる Scratch Pad *も表示されます。スクラッチパッドが閉じている場合は、SQLエディターおよびその他のパネルを右クリックして新しいパネルを追加することにより、スクラッチパッドを再度開く(または追加のものを開く)ことができます。
下のパネルには、*データ出力*パネルが表示されます。タブ付きパネルには、クエリによって返された結果セット、クエリの実行プランに関する情報、クエリの実行に関連するサーバーメッセージ、およびサーバーから受信した非同期通知が表示されます。
クエリツールツールバー
*クエリツール*ツールバーは、頻繁に実行されるタスクへのショートカットを提供する状況依存アイコンを使用します。アイコンが強調表示されている場合、オプションは有効になっています。アイコンがグレー表示されている場合、タスクは無効になっています。
クエリツールツールバー¶
アイコンにカーソルを合わせると、アイコンの機能を説明するツールチップが表示されます。
アイコン |
振る舞い |
ショートカット |
|---|---|---|
ファイルを開く |
[ファイルを開く]アイコンをクリックして、以前に保存したクエリをSQLエディターに表示します。 |
アクセスキー+ O |
保存 |
[保存]アイコンをクリックして、以前に保存したクエリのクイック保存を実行するか、[保存]メニューにアクセスします。
|
アクセスキー+ S |
データの変更を保存 |
[データの変更を保存]アイコンをクリックして、データ出力パネルのデータの変更(挿入、更新、または削除)をサーバーに保存します。 |
F6 |
検索 |
[検索]メニューを使用して、SQLエディターに表示されるコードを検索、置換、またはナビゲートします。
|
Cmd + F Cmd + G Cmd + Shift + G Cmd + Shift + F Alt + G |
コピー |
*コピー*アイコンをクリックして、データ出力パネルで現在ハイライトされているコンテンツをコピーします。データの表示/編集モードのとき。 |
アクセスキー+ C |
貼り付け |
[貼り付け]アイコンをクリックして、データの表示/編集モードで以前の行を新しい行に貼り付けます。 |
アクセスキー+ P |
削除 |
削除*アイコンをクリックして、選択した行を削除対象としてマークします。これらのマークされた行は、 Save Data Changes *アイコンをクリックすると削除されます。 |
アクセスキー+ D |
編集 |
[編集]メニューのオプションを使用して、テキスト編集ツールにアクセスします。これらのオプションは、クエリツールモードのときに[SQLエディター]パネルに表示されるテキストに作用します。
|
タブ 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エディターパネルで強調表示されているクエリを実行または更新します。下矢印をクリックして、他の実行オプションにアクセスします。
|
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:
|
Shift + F7 |
コミット |
Click the Commit icon to commit the transaction. |
Shift + Ctrl + M |
ロールバック |
[ロールバック]アイコンをクリックして、トランザクションをロールバックします。 |
Shift + CTRL + R |
クリア |
[クリア]ドロップダウンメニューのオプションを使用して、表示内容を消去します。 |
アクセスキー+ 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.
The SQL Editor Panel¶
オートコンプリートを使用するには、クエリの入力を開始します。クエリエディターで、クエリの次のオブジェクト名またはコマンドを提案する場合は、Ctrl +スペースキーの組み合わせを押します。たとえば、``/ * SELECT / * FROM / *``と入力し(引用符なし、末尾にスペースを含む)、Ctrl +スペースキーを押して、オートコンプリートオプションのポップアップメニューから選択します。
オートコンプリートを使用する¶
クエリを入力した後、ツールバーから*実行/更新*アイコンを選択します。 SQLエディターパネルの完全な内容は、実行のためにデータベースサーバーに送信されます。 SQLエディターに表示されるコードのセクションのみを実行するには、サーバーで実行するテキストを強調表示し、*実行/更新*アイコンをクリックします。
コマンドの実行¶
コマンドの実行時にサーバーから返されるメッセージは、* Messages タブに表示されます。コマンドが成功すると、 Messages *タブに実行の詳細が表示されます。
The Messages Tab¶
[編集]メニューのオプションには、コードのフォーマットとコメントに役立つ機能があります。
自動インデント機能は、Returnキーを押すと、前の行と同じ深さまでテキストを自動的にインデントします。
2行以上を選択してTabキーを押すことにより、インデントテキストをブロックします。
コード内でSQLスタイルのコメント表記を実装または削除するか、Cスタイルのコメント表記を切り替えます。
ツリービューから特定のオブジェクトを**ドラッグアンドドロップ**することもできます。これにより、長いオブジェクト名を入力する時間を節約できます。オブジェクト名を含むテキストは、スキーマで完全修飾されます。必要に応じて二重引用符が追加されます。関数とプロシージャの場合、関数名とパラメーター名がクエリツールに貼り付けられます。
データ出力パネル¶
The Data Output panel displays data and statistics generated by the most recently executed query.
データ出力パネル¶
データ出力タブ¶
[データ出力]タブには、クエリの結果セットが表形式で表示されます。次のことができます。
表示された結果セットから選択してコピーします。
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以上がインストールされている必要があります。
編集可能で読み取り専用の列は、列ヘッダーの鉛筆アイコンとロックアイコンを使用してそれぞれ識別されます。
クエリツールの編集可能な列¶
更新可能な結果セットは、データの表示/編集モードのデータグリッドに似ており、同じ方法で変更できます。
自動コミットがオフの場合、進行中のトランザクションの一部としてデータの変更が行われ、進行中のトランザクションがない場合、新しいトランザクションが開始されます。トランザクションがコミットされない限り、データの変更はデータベースにコミットされません。
保存中にエラーが発生した場合(たとえば、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.
説明オプション¶
pgAdminは* Explain [Analyze] *プランをJSON形式で生成することに注意してください。
On successful generation of Explain plan, it will create three tabs/panels under the Explain panel.
グラフィカルタブ¶
[グラフィック]タブのアイコンにカーソルを合わせて、そのアイテムに関する情報を確認します。ポップアップウィンドウに、選択したオブジェクトに関する情報が表示されます。 JIT統計、トリガー、および概要については、右上隅のアイコンにカーソルを合わせてください。必要に応じて、同様のポップアップウィンドウが表示されます。
Please note that EXPLAIN VERBOSE cannot be displayed graphically.
*説明*キャンバスの左上隅にあるダウンロードボタンを使用して、プランをSVGファイルとしてダウンロードします。
注: Internet ExplorerではSVGとしてのダウンロードはサポートされていません。
グラフィカルな説明¶
Note that the query plan that accompanies the Explain analyze is available on the Data Output tab.
分析タブ¶
The Analysis tab shows the plan details in table format, it generates a format similar to the format available at explain.depsez.com. Each row of the table represents the data for a Explain Plan Node. The output may contain the node information, exclusive timing, inclusive timing, actual vs. planned rows, actual rows, planned rows, or loops. When you select a row, the child rows of that selected row are marked with an orange dot.
合計クエリ時間の排他的/包括的タイミングの割合が次の場合:
90より大きい->赤
50より大きい->オレンジ(赤と黄色の間)
10より大きい->黄色
計画担当者が行数(実際と計画)を誤って推定した場合:
10回->黄色
100回->オレンジ(赤と黄色の間)色
1000回->赤色
分析タブ¶
統計タブ¶
The Statistics tab displays information in two tables:
Statistics per Node Typeは、各ノードタイプが何回参照されたかを示します。
Statistics per Tableは、各テーブルがクエリによって参照された回数を示します。
統計タブ¶
クエリ履歴パネル¶
Use the Query History tab to review activity for the current session:
クエリ履歴タブ¶
[クエリ履歴]タブには、最近のコマンドに関する情報が表示されます。
クエリが呼び出された日時。
クエリのテキスト。
クエリによって返される行の数。
サーバーがクエリを処理して結果セットを返すのにかかった時間。
サーバーから返されたメッセージ(* Messages *タブには記載されていません)。
クエリのソース(ツールバーに対応するアイコンで示されます)。
pgAdminによって内部的に生成されたクエリを表示または非表示にすることができます(``データの表示/編集``または``データの保存``操作中)。
[クエリ履歴]タブのコンテンツを消去するには、[クリア]ドロップダウンメニューから[履歴のクリア]を選択します。
クエリ履歴は、クエリツールモードで実行している場合、ユーザーごとに各データベースのセッションにわたって維持されます。データの表示/編集モードでは、履歴は保持されません。デフォルトでは、最後の20個のクエリが各データベースに保存されます。これは、 MAX_QUERY_HIST_STORED`値をオーバーライドすることで config_local.py`で調整できます。