PostgreSQL でのジオデータベースの設定
このトピックは、ArcGIS for Desktop Standard および ArcGIS for Desktop Advanced にのみ該当します。
ほとんどの場合は、[エンタープライズ ジオデータベースの作成(Create Enterprise Geodatabase)] ジオプロセシング ツールまたは Python スクリプトを使用して、PostgreSQL データベース管理システムにジオデータベースを作成できます。
[エンタープライズ ジオデータベースの作成(Create Enterprise Geodatabase)] ツールは、PostgreSQL のデフォルト テンプレートを使用してデータベースを作成し、sde ログイン ロールとスキーマを作成し、sde ログイン ロールにジオデータベースを作成する権限を付与し、ジオデータベースを作成します。別のテンプレートを使用してデータベースを作成する場合は、まずデータベース クラスタ内にデータベースを作成してから、[エンタープライズ ジオデータベースの作成(Create Enterprise Geodatabase)] ツールまたはスクリプトを実行し、事前に作成したデータベースの名前を指定します。
また、[エンタープライズ ジオデータベースの有効化(Enable Enterprise Geodatabase)] ジオプロセシング ツールまたは Python スクリプトを使用して、PostgreSQL データベースにジオデータベースを作成することもできます。[エンタープライズ ジオデータベースの有効化(Enable Enterprise Geodatabase)] ジオプロセシング ツールまたはスクリプトを使用して PostgreSQL にジオデータベースを作成する唯一の共通する理由は、ジオデータベースの作成者が postgres スーパーユーザのパスワードにアクセスできない場合のみです。この場合、データベース管理者は、sde ログイン ロール、データベース、および sde スキーマを作成し、sde ユーザにジオデータベースの作成に必要な権限を付与することができます。その後、sde ユーザはデータベースに接続し、[エンタープライズ ジオデータベースの有効化(Enable Enterprise Geodatabase)] ジオプロセシング ツールまたはスクリプトを使用して、データベース内でジオデータベース機能を有効にできます。
ジオデータベースを設定する前に、使用するデータベース、ArcGIS、およびハードウェアの組み合わせがサポートされていることを、Resource Center にあるシステム要件から確認してください。
Linux サーバ上の PostgreSQL でのジオデータベースの設定
Linux 上の PostgreSQL にジオデータベースを作成する手順の概要は、次のとおりです。
- サポートされている PostgreSQL のリリースを入手しインストールし、データベース クラスタを設定します。
PostgreSQL のインストールは、Esri Customer Care ポータルからダウンロードできます。このインストールを使用する場合、ArcGIS で PostgreSQL を使用するのにデフォルト以外の設定は必要ありません。デフォルト以外の設定を使用する場合は、ロケールと場所の設定を変更します。
あるいは、PostgreSQL のインストールを自分で入手することもできます。PostgreSQL のインストールや設定に関する手順については PostgreSQL Web サイト のドキュメントをご参照ください。
- 接続を受け入れるようにデータベース クラスタを設定します。
これには、pg_hba.conf ファイルを変更して、データベース クラスタがリモート接続を受け入れるようにすることが含まれます。
- postgres ユーザに次の環境変数が正しく設定されていなければ設定します。
- PGDATA:これは、PostgreSQL のインストールによって設定されています。設定されていない場合は、PostgreSQL のインストール ディレクトリの下にあるデータ ディレクトリの場所に設定されます。
- LD_LIBRARY_PATH:LD_LIBRARY_PATH 変数を PostgreSQL の lib ディレクトリに設定します。lib ディレクトリの場所は、PostgreSQL をインストールした方法によって異なります。PostgreSQL のインストールにおける正しい場所を調べるには、postgres ユーザで pg_config を実行します。LD_LIBRARY_PATH を、PKGLIBDIR に対して返される値に設定します。
- PATH: postgresql/bin を含むように PATH 変数を設定します。
- ジオデータベースを作成する ArcGIS クライアントをインストールします。
- Esri Customer Care ポータルから PostgreSQL クライアント ライブラリ(ArcGIS クライアントが Windows 上にある場合)または RPM(ArcGIS クライアントが Linux 上にある場合)をダウンロードし、それを前の手順でインストールした ArcGIS クライアントの bin ディレクトリに配置します。詳細については、「PostgreSQL への接続の設定」をご参照ください。
- PostgreSQL 内のジオデータベースを ArcGIS for Server で使用する場合、ArcGIS アカウントに対して次の変数を設定または変更します。
- SDEHOME: この変数を /home/ags/arcgis/server に設定します。
export SDEHOME=/home/ags/arcgis/server
- PG_HOME: PG_HOME を /opt/PostgreSQL/9.0 に設定します。
export PG_HOME=/opt/PostgreSQL/9.0
- PATH: $PATH:$PG_HOME/bin:$SDEHOME/bin を PATH 変数に追加します。
export PATH=$PATH:$PG_HOME/bin:$SDEHOME/bin
- LD_LIBRARY_PATH:$LD_LIBRARY_PATH:$PG_HOME/lib:$SDEHOME/lib を LD_LIBRARY_PATH 変数に追加します。
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PG_HOME/lib:$SDEHOME/lib
- SDEHOME: この変数を /home/ags/arcgis/server に設定します。
- st_geometry.so ライブラリを PostgreSQL インストール ディレクトリに移動します。
PostgreSQL 9.0 の st_geometry.so ライブラリ は ArcGIS クライアント インストール ディレクトリの DatabaseSupport/PostgreSQL/Linux64 ディレクトリにあります。ArcGIS クライアントのこの場所からファイルを移動させ、ルート ユーザとして PostgreSQL サーバにログインし、st_geometry.so ファイルを PostgreSQL の lib ディレクトリに配置します(これは、LD_LIBRARY_PATH 環境変数の設定先と同じ場所です)。
ArcGIS 10.1 Service Pack 1 以降、DatabaseSupport ディレクトリには、9.1 という名前のディレクトリが含まれます。PostgreSQL 9.1 データベースに接続する場合、このディレクトリにある st_geometry.so ライブラリを使用します。
ArcGIS 10.2 以降、DatabaseSupport ディレクトリには、9.2 という名前のディレクトリも含まれます。PostgreSQL 9.2 データベースに接続する場合、このディレクトリにある st_geometry.so ライブラリを使用します。
有効な st_geometry.so ライブラリを PostgreSQL の lib ディレクトリに配置していない場合は、ジオデータベースを作成できません。
注意:ArcGIS for Server の DatabaseSupport ディレクトリは、700 に設定された権限を使用して作成されます。root としてログインして st_geometry.so ファイルを PostgreSQL lib ディレクトリに移動するときは、ファイルへの権限を 755 に変更します。変更しない場合、postgres ユーザはファイルにアクセスしてジオデータベースを作成できません。
- 表領域を、データベースを格納するデータベース クラスタに作成します。表領域を作成しない場合は、pg_default 表領域を使用します。
- 次の手順のいずれかで、データベース、sde ユーザとスキーマ、およびジオデータベースを作成します。
- リモートの Windows コンピュータで、ArcGIS for Desktop(Standard または Advanced)から [エンタープライズ ジオデータベースの作成(Create Enterprise Geodatabase)] ジオプロセシング ツールを使用します。
- ArcGIS for Desktop(Standard または Advanced)、ArcGIS Engine と Geodatabase Update エクステンション、または ArcGIS for Server Enterprise(Standard または Advanced)を実行するコンピュータから Python スクリプトを実行します。「PostgreSQL でのデータベースおよびジオデータベース作成のスクリプト」から、サンプル スクリプトをコピーおよび変更して、サイトで実行することができます。
あるいは、データベース、sde ユーザおよびスキーマを手動で作成してから、[エンタープライズ ジオデータベースの有効化(Enable Enterprise Geodatabase)] ジオプロセシング ツールをリモートの Windows コンピュータから実行するか、ArcGIS Engine と Geodatabase Update エクステンションまたは ArcGIS for Server Enterprise(Standard または Advanced)がインストールされている Linux コンピュータ上で EnableEnterpriseGeodatabase を呼び出す Python スクリプトを実行します。
Windows サーバ上の PostgreSQL でのジオデータベースの設定
Windows 上の PostgreSQL にジオデータベースを作成する手順の概要は、次のとおりです。
- サポートされている PostgreSQL のリリースを入手しインストールし、データベース クラスタを設定します。
PostgreSQL のインストールは、Esri Customer Care ポータルからダウンロードできます。このインストールを使用する場合、ArcGIS で PostgreSQL を使用するのにデフォルト以外の設定は必要ありません。デフォルト以外の設定を使用する場合は、ロケールと場所の設定を変更します。
あるいは、PostgreSQL のインストールを自分で入手することもできます。PostgreSQL のインストールや設定に関する手順については PostgreSQL Web サイト のドキュメントをご参照ください。
- 接続を受け入れるようにデータベース クラスタを設定します。
これには、pg_hba.conf ファイルを変更して、データベース クラスタがリモート接続を受け入れるようにすることが含まれます。
- ジオデータベースを作成する ArcGIS クライアントをインストールします。
- Esri Customer Care ポータルから PostgreSQL クライアント ライブラリ(ArcGIS クライアントが Windows 上にある場合)または RPM(ArcGIS クライアントが Linux 上にある場合)をダウンロードし、それを前の手順でインストールした ArcGIS クライアントの bin ディレクトリに配置します。詳細については、「PostgreSQL への接続の設定」をご参照ください。
- st_geometry ライブラリを PostgreSQL インストール ディレクトリにコピーします。
PostgreSQL 9.0 で使用する st_geometry.dll ファイルは、ArcGIS クライアント インストール ディレクトリの DatabaseSupport ディレクトリにあります。st_geometry.dll ファイルを ArcGIS クライアントから PostgreSQL サーバ上の PostgreSQL の lib ディレクトリに移動します。
PostgreSQL 9.1 データベースに接続する場合、9.1 ディレクトリにある st_geometry.dll ライブラリを使用します。
PostgreSQL 9.2 データベースに接続する場合、9.2 ディレクトリにある st_geometry.dll ライブラリを使用します。
注意:適切な st_geometry.dll ライブラリを PostgreSQL の lib フォルダに配置していない場合は、ジオデータベースを作成できません。
また、st_geometry.dll では、Microsoft Visual C++ 2008 SP1 再頒布可能パッケージ(x64)が必要です。このパッケージが PostgreSQL サーバ上に存在しない場合は、Microsoft のサイトからダウンロードしてインストールしてください。
- 表領域を、データベースを格納するデータベース クラスタに作成します。表領域を作成しない場合は、pg_default 表領域を使用します。
- 次の手順のいずれかで、データベース、sde ユーザとスキーマ、およびジオデータベースを作成します。
- ArcGIS for Desktop(Standard)から [エンタープライズ ジオデータベースの作成(Create Enterprise Geodatabase)] ジオプロセシング ツールを実行します。
- ArcGIS for Desktop(Standard または Advanced)、ArcGIS Engine と Geodatabase Update エクステンション、または ArcGIS for Server Enterprise(Standard または Advanced)を実行するコンピュータから Python スクリプトを実行します。「PostgreSQL でのデータベースおよびジオデータベース作成のスクリプト」から、サンプル スクリプトをコピーおよび変更して、サイトで実行することができます。
あるいは、データベース、sde ユーザ、スキーマを手動で作成してから、[エンタープライズ ジオデータベースの有効化(Enable Enterprise Geodatabase)] ジオプロセシング ツールまたは Python スクリプトを実行して、事前に作成されたデータベースにジオデータベースを作成できます。
オプションの追加設定
接続に ArcSDE サービスを使用する場合や、同じ PostgreSQL データベース クラスタ内に複数のジオデータベースが必要な場合など、ジオデータベースの設定に別のツールが必要になる場合があります。同じデータベース クラスタに複数のジオデータベースを作成する場合の情報については、「PostgreSQL の複数のジオデータベース」をご参照ください。
ArcSDE サービスを使用するには、ArcSDE アプリケーション サーバをインストールして設定する必要があります。そのための手順については、ArcSDE アプリケーション サーバに付属するインストール ガイドをご参照ください。ArcSDE アプリケーション サーバのインストールは、Esri Customer Care ポータルからダウンロードできます。