Amazon Relational Database Service for PostgreSQL でのジオデータベースの作成
ArcGIS Server Cloud Builder on Amazon Web Services によって、Amazon Relational Database Service (RDS) for PostgreSQL を含む Esri AMI を使用して、 ArcGIS for Server on Amazon Web Services (AWS) を起動する場合、2 つのエンタープライズ ジオデータベースが RDS インスタンスに作成されます。追加のジオデータベースが必要な場合 (たとえば、使用するジオデータベースの名前や場所をカスタマイズする場合や、独自の不連続データを保持し、専用のジオデータベースを必要とする複数の部署が存在する場合)、pgAdmin または SQL を使用して追加データベースを作成し、各データベースに sde ユーザーを追加し、[エンタープライズ ジオデータベースの有効化 (Enable Enterprise Geodatabase)] ジオプロセシング ツールを実行すると、各データベースにジオデータベースを作成できます。
AWS マネジメント コンソールを使用して手動でサイトを構成した場合、RDS インスタンス、sde ログイン ロール、データベース、ジオデータベースは作成されません。これらの ArcGIS for Server on Amazon Web Services インスタンスのいずれかを使用して Amazon RDS for PostgreSQL でエンタープライズ ジオデータベースを使用する場合は、次の手順を実行します。
- Amazon RDS コンソールから、PostgreSQL データベース インスタンスとデータベースを作成します。
PostgreSQL データベースの RDS インスタンスとデータベースを作成する手順については、アマゾン ウェブ サービス (AWS) のドキュメントをご参照ください。ジオデータベース作成の簡単なチュートリアル PostgreSQL DB インスタンスの作成および PostgreSQL DB インスタンス上のデータベースへの接続。
- 作成したデータベースのパブリック スキーマに PostGIS エクステンションを読み込みます。
CREATE EXTENSION postgis SCHEMA public;
- SQL クライアントから PostgreSQL RDS データベース インスタンスに接続します。マスター ユーザーとして接続します。
- SQL クライアントから、PostgreSQL データベース クラスターに sde ログイン ロールを作成します。
データベース内でジオデータベース機能を有効化できるように、sde ログインに rds_superuser ロールを付与する必要があります。
CREATE ROLE sde WITH PASSWORD 'MeyeP@$$w0rd' LOGIN; GRANT rds_superuser TO sde;
- SQL クライアントから、作成したデータベースに sde という名前のスキーマを作成し、sde ログインを sde スキーマの所有者にします。
CREATE SCHEMA sde; ALTER SCHEMA sde OWNER TO sde;
注意:
ユーザー名とスキーマ名には小文字を使用します。ジオデータベースでは、名前に大文字は使用できません。
- 権限を変更し、データベースの検索パスを設定します。
ALTER DATABASE <database> SET search_path = "$user", public, sde; GRANT ALL ON DATABASE <database> TO public; GRANT ALL ON DATABASE <database> TO sde;
- ArcGIS からデータベースへのデータベース接続を作成します。sde ログインを使用して接続します。データベース接続は、次のいずれかの方法で作成できます。
- ArcMap または ArcCatalog の [カタログ] ウィンドウの [データベース接続の追加]。
- ArcGIS Pro の [プロジェクト] ウィンドウで [新規データベース接続] を追加します。
- ArcMap、ArcCatalog、または ArcGIS Pro で [データベース接続の作成 (Create Database Connection)] ジオプロセシング ツールを実行します。
- ArcGIS for Server、ArcMap、または ArcGIS Pro がインストールされているコンピューターから、[データベース接続の作成 (Create Database Connection)] ツールを呼び出す Python スクリプトを実行します。
次のステップでは、作成されたデータベース接続ファイル (*.sde) を入力として使用します。
- [エンタープライズ ジオデータベースの有効化 (Enable Enterprise Geodatabase)] ジオプロセシング ツールまたはこのツールを呼び出す Python スクリプトを実行して、データベース内にジオデータベースを作成します。
注意:
[エンタープライズ ジオデータベースの作成 (Create Enterprise Geodatabase)] ジオプロセシング ツールまたはスクリプトを使用して、PostgreSQL RDS に sde ユーザーとジオデータベースを作成することはできません。
- SQL を使用して、ログイン ロールおよび (同じ名前を持つ) スキーマを作成して、データをジオデータベースに読み込みます。
この例では、ユーザーの名前は dataloader です。
CREATE ROLE dataloader WITH PASSWORD 'dkey2DL' LOGIN; CREATE SCHEMA dataloader; ALTER SCHEMA dataloader OWNER TO dataloader;
注意:
ユーザー名とスキーマ名には小文字を使用します。ジオデータベースでは、名前に大文字は使用できません。
- sde スキーマにこのログインを使用する権限を付与し、この新しいスキーマに sde ログインを使用する権限を付与します。
GRANT USAGE ON SCHEMA sde TO dataloader; GRANT USAGE ON SCHEMA dataloader TO sde;
- ArcGIS から別のデータベース接続を作成し、作成したログインで接続してデータを読み込みます。
- この新しいデータベース接続ファイルを使用して、ArcGIS Server にジオデータベースを登録します。