28.2.1. DBマネージャプラグイン

DBマネージャプラグインは、QGISでサポートされている空間データベース形式(PostGIS、SpatiaLite、GeoPackage、Oracle Spatial、Virtual layers)を一つのユーザーインターフェースで統合し管理するメインツールとなることを意図しています。dbManager DBマネージャプラグイン はいくつかの機能を提供します。QGISブラウザからDBマネージャにレイヤをドラッグすると、レイヤを空間データベースにインポートすることができます。空間データベース間でテーブルをドラッグ&ドロップすることができ、それらはインポートされます。

../../../../_images/db_manager1.png

図 28.4 [DBマネージャ]ダイアログ

データベース メニューでは、既存のデータベースへの接続、SQLウィンドウの起動、DBマネージャプラグインの終了を行うことができます。既存のデータベースに接続すると、 スキーマ (PostGIS / PostgreSQL などの DBMS に関連) と テーブル というメニューが表示されます。

スキーマ メニューにはスキーマの作成と削除(空の場合のみ)、そしてトポロジが利用可能な場合(PostGISトポロジなど)は、 TopoViewer を起動するツールがあります。

テーブル メニューではテーブルの作成と編集、テーブルとビューの削除ができます。また、テーブルを空にしたり、スキーマ間でテーブルを移動することもできます。選択したテーブルに対して バキューム解析の実行 をすることができます。バキュームはスペースを回収して最良できるようにし、解析 はクエリの最も効率的な実行方法を決めるために使われる統計情報を更新します。*guilabel:変更ログ... では、テーブルに変更ログのサポートを追加することができます。最後に、 レイヤ/ファイルのインポート...ファイルにエクスポート... ができます。

注釈

DB Managerを使うと、PostgreSQLデータベースのテーブルやカラムにコメントを追加することができます。

プロバイダ ウィンドウには、QGISでサポートされている既存のデータベースが一覧表示されます。ダブルクリックするとそのデータベースに接続できます。マウスの右ボタンで、既存のスキーマやテーブルの名前の変更と削除ができます。テーブルはコンテキストメニューでQGISキャンバスに追加することもできます。

データベースに接続されている場合、DBマネージャの メイン ウィンドウには4つのタブが表示されます。情報 タブはテーブルとそのジオメトリ、既存のフィールド、制約、インデックスに関する情報を提供します。選択したテーブルに空間インデックスを作成することができます。テーブル タブはテーブルを表示し、プレビュー タブはジオメトリをプレビューとしてレンダリングします。SQLウィンドウ を開くと、新しいタブが表示されます。

28.2.1.1. SQLウィンドウの操作

DBマネージャを使って空間データベースに対するSQL クエリが実行できます。クエリは保存と読み込みが可能で、 SQLクエリビルダ がクエリの作成を手助けしてくれます。新規レイヤとして読み込む にチェックを入れ、 一意な値を持つカラム (ID)、ジオメトリカラムレイヤ名(接頭辞) を指定することで、空間的な出力を表示することもできます。Ctrl+R を押すか、実行 ボタンをクリックすると、SQLの一部をハイライトしてその部分のみを実行することができます。

クエリ履歴 ボタンは、各データベースとプロバイダの直近20回のクエリを保存しています。

エントリをダブルクリックすると、その文字列がSQLウィンドウに追加されます。

../../../../_images/db_manager_sql.png

図 28.5 DBマネージャのSQL ウィンドウで SQL クエリを実行する

注釈

SQL ウィンドウから仮想レイヤを作ることもできます。その場合はデータベースを選択する代わりに、SQL ウィンドウを開く前に 仮想レイヤ の下にある QGISレイヤ を選択します。使用する SQL 構文については 仮想レイヤを作成する を参照してください。