管理者がデータベースを正常にインストールし、必要な詳細を提供したかのように聞こえます。また、インストール中にPostGISを構成している場合もありますが、そうでない場合は、これらの手順を実行するときに確認できます。
まず、管理者にpgAdminをインストールするよう依頼してください。これにより、グラフィカルインターフェイスを使用してPostgreSQLデータベースにアクセスできます。
https://www.pgadmin.org/download/windows.php
pgAdminを開く
PostgreSQLがインストールされている場合。
- お使いのコンピューターではlocalhostとして表示されます。「PostgreSQL 9.6(localhost:5432)」をダブルクリックして接続できます。
- ネットワークにインストールされている場合、ホストアドレスを管理者に知らせる必要があります(まだ持っていない場合)。次に、[ファイル]> [サーバーの追加]に移動してフィールドに入力する必要があります。
接続したら Edit > New Object > New Database
名前を付けてください。サーバーリストに表示されます。
ダブルクリックして接続します。がExtensions
リストされているかどうかを確認しますpostgis
。
そうでない場合;
SQLアイコンをクリックして、SQLウィンドウを開きます。
そして入力
CREATE EXTENSION PostGIS
「クエリの実行」を押す-このアイコン
リスト内のデータベースを右クリックして切断し、再接続します。拡張機能がpostgis
リストされているはずです。
この時点で、新しいグループロールとログインロールを設定できます。これは、セキュリティニーズとネットワーク上のユーザーを提供する必要があるかのように聞こえます。
または、単にテストするだけの場合は、デフォルトのロールで続行できますpostgres
。
さまざまなグループを設定して、管理者とユーザーなどのさまざまな権限を設定できます。その後、ユーザーログインを設定して、ユーザーに付与するアクセス許可レベルに合ったグループに割り当てることができます。
SQLウィンドウを開き、これらのクエリを実行します。
CREATE ROLE user_group_name NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;
CREATE ROLE admin_group_name NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;
GRANT user_group_name TO admin_group_name
GRANT ALL ON DATABASE database_name TO admin_group_name;
管理者ログインを設定します(postgres /スーパーユーザーとしてログインします)
CREATE ROLE admin_name LOGIN PASSWORD 'their_password' NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;
GRANT admin_group_name TO admin_name;
ユーザーログインを設定します(postgres /スーパーユーザーとしてログインします)
CREATE ROLE user_name LOGIN PASSWORD 'their_password' NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;
GRANT users_group_name TO user_name;
QGISを開きます。新しいプロジェクトを開始します。
左側のツールバーの「Add PostGIS layer」アイコンをクリックします。
[新規]接続をクリックし、上記のように接続の詳細を入力します(データベースがローカルの場合、ホストは単にlocalhost
)。
この時点で接続をテストできます。ユーザー名とパスワードのフィールドで[保存]ボックスをオンにすると、資格情報がプロファイルに保存されるため、毎回入力する必要はありません。セキュリティのニーズに応じてあなた次第です。
[OK]を押して[PostGISテーブルウィンドウの追加]を閉じます
次に移動しますDatabase > DB Manager > DB Manager
(最近のQGISバージョンでは、DBマネージャーが標準としてインストールされています。以前のバージョンでは、DBマネージャープラグインをインストールする必要があります)
PostGISを選択します。デフォルトのパブリックスキーマが表示されます。パブリックスキーマを使用するのではなく、新しいスキーマを作成する必要があるように聞こえます。
スキーマ>スキーマの作成-名前を付けます(no_spaces_or_use_underscores
)
作成したら、pgAdminに戻って切断、再接続して確認できます。新しいスキーマが存在するはずです。
QGIS DBマネージャーに戻り、シェープファイルをデータベースのテーブルにアップロードします。
下矢印「レイヤー/ファイルのインポート」をクリックして、インポートするシェープファイルを参照します。`...` `アイコンをクリックしてブラウズを開きます。
テーブルに名前を付けます(again_no_spaces_or_use_underscores
)
選択する Primary key
選択する Geometry Column
SRID
CRSコードを選択して入力します
今のところ、他のすべてを残しますOK
。
大きなデータセットの場合、特にネットワーク/インターネット接続を介して時間がかかる可能性があります
再びpgAdminに戻り、今回は更新を押すと、新しいテーブルがに表示されTables
ます。
グループの役割とユーザーを設定した場合、たとえば、スキーマへのアクセスを許可する必要があります。
GRANT ALL ON SCHEMA schema_name TO admin_group_name;
GRANT USAGE ON SCHEMA schema_name TO user_group_name;
QGISに戻り、「PostGISレイヤーを追加」。今回は「接続」を選択します。スキーマを開き、テーブルを強調表示して[追加]をクリックすると、プロジェクトスペースで開きます。