PostgreSQL データベースと sde ユーザの作成(Linux)
ArcSDE の Linux インストールには、Red Hat Linux 上で PostgreSQL の表領域、データベース、sde ユーザ、およびスキーマを作成するためのスクリプト(setup_pgdb.sde)が用意されています。この手順は、インストール メディアにあるこのスクリプトを使用して実行することも、手動で実行することもできます。PostgreSQL のインストールの詳細については、PostgreSQL のマニュアルをご参照ください。
setup_pgdb.sde スクリプトは PL/pgSQL 言語もインストールします。PL/pgSQL の手動インストールについては、「PL/pgSQL 言語のインストール(Linux)」で説明されています。
PostgreSQL では名前を引用符で囲むことによって、大文字と小文字の組み合わせまたは大文字のオブジェクト名を格納できますが、これらを ArcSDE ジオデータベースで使用することはできません。そのため、データベース、表領域、ユーザ、スキーマの名前として大文字と小文字を組み合わせた名前は使用しないでください。
-
postgres スーパー ユーザとして psql にログインし、ArcSDE 管理者ユーザを作成します。作成するユーザ名は sde にする必要がありますが、パスワードは自由に設定することができます。
CREATE ROLE sde LOGIN PASSWORD <password> SUPERUSER NOINHERIT CREATEDB;
-
ArcSDE ジオデータベース用に使用されるデータベースをデフォルト(pg_default)とは異なる表領域に格納するには、空のディレクトリに新しい表領域を作成します。
次の例では、sde1 という表領域が 32 ビット サーバの sde ディレクトリに作成されます。この表領域は sde ユーザが所有します。
CREATE TABLESPACE sde1 OWNER sde LOCATION '/var/lib/pgsql/data/sde';
メモ:PostgreSQL では、表領域を空のディレクトリに作成する必要があります。すでにファイルが含まれているディレクトリを指定すると、表領域の作成は失敗します。
-
データベースを作成して、このデータベースへのフル アクセス権限を sde ユーザに付与します
sde ユーザがジオデータベースを作成するには、フル アクセス権限が必要です。
メモ:データの格納に PostGIS ジオメトリ タイプを使用する場合は、PostGIS テンプレートを使用してデータベースを作成するか、PostGIS で提供されるスクリプトを使用して既存のデータベースを PostGIS ジオメトリに対して有効にする必要があります。
ジオデータベースが格納されるデータベースの名前には、特殊文字は使用できません。
次の例では、agency データベースが sde ユーザによって所有され、UTF8 文字エンコーディングを使用し、sde1 表領域に格納されます。
CREATE DATABASE agency OWNER sde ENCODING 'UTF8' TABLESPACE sde1; GRANT ALL ON DATABASE agency TO sde;
-
他のユーザがデータベースにアクセスできるように、public または特定のロールとグループに対して使用権限を付与します。
GRANT USAGE ON DATABASE agency TO public;
-
postgres スーパー ユーザとしてデータベースにログインして、sde ユーザのスキーマを作成します。このスキーマには、ArcSDE ジオデータベース リポジトリが格納されます。スキーマ名は sde とする必要があります。
\c agency CREATE SCHEMA sde AUTHORIZATION sde;
-
sde ユーザに、sde スキーマに対するすべての権限を付与します。
GRANT ALL ON SCHEMA sde TO sde;
-
sde スキーマにアクセスできるように、public または特定のロールとグループに対して使用権限を付与します。
ジオデータベースとやりとりするユーザは、sde スキーマの使用権限を持っている必要があります。
GRANT USAGE ON SCHEMA sde TO public;
-
PostGIS ジオメトリ タイプを使用している場合は、sde に public.geometry_columns テーブルに対する SELECT、INSERT、UPDATE、および DELETE 権限も付与する必要があります。
GRANT SELECT, INSERT, UPDATE, DELETE ON TABLE public.geometry_columns TO sde;
-
また、PostGIS ジオメトリ タイプを使用している場合は、sde に、public.spatial_ref_sys テーブルに対する SELECT 権限を付与します。
GRANT SELECT ON TABLE public.spatial_ref_sys TO sde;
データベースのデータにアクセスし操作する他のユーザを作成します。
ArcSDE では、その他のユーザおよびそのスキーマを作成するための SQL ステートメントを含むファイルが提供されます。このファイル(roles_schemas_privileges.txt)は、ArcSDE のインストール後、$SDEHOME → tools → postgres ディレクトリから利用できます。