PostgreSQL のジオデータベースをアップグレードする準備
ジオデータベースを含め、エンタープライズ システムをアップグレードする場合は、まず計画を立てます。開発サーバまたはテスト サーバで新しいバージョンをテストして、すべてのクライアント アプリケーションで動作することを確認します。
新しいシステムが想定したとおりに機能することが確認できたら、アップグレードのスケジュールを設定します。アップグレードに必要な人員を確保し、各担当者が割り当てられたタスクを実行するために必要な権限を持っていることを確認します。
- ソフトウェアのベータ バージョンからのアップグレードはサポートされていません。
- ジオデータベースがレプリカの一部である場合、親と子の両方のジオデータベースをアップグレードしてから同期させる必要があります。
- ジオデータベースを以前のバージョンにダウングレードするための正式のメカニズムはありません。ジオデータベースを新しいバージョンにアップグレードした後でダウングレードする必要が生じた場合は、旧版のデータベースをバックアップから復元する必要があります。
- ジオデータベースをいったんアップグレードすると、以前のバージョンの ArcGIS では開けなくなります。これは、旧バージョンの ArcGIS では、新しいバージョンのジオデータベースを読み込めないためです。
PostgreSQL でジオデータベースをアップグレードする前には、次の手順を実行する必要もあります。
- ArcGIS Resource Center で、システムが最小要件を満たしていることを確認します。
- データベース クラスタ上で各データベースのバックアップを作成します。メモ:
データベースのバックアップは一度に 1 つずつ作成する必要があります。
-
PostgreSQL データベース クラスタをアップグレードします。
- Windows では、Support フォルダを ArcSDE インストール メディアの ArcSdePG からローカル ドライブにコピーし、UPGRADE.bat ファイルを実行します。アップグレードが完了したら、サーバを再起動して変更を有効にする必要があります。
- Red Hat Linux では、postgresql-8.3.8-1PGDG.rhel5、postgresql-server-8.3.8-1PGDG.rhel5、および postgresql-libs-8.3.8-1PGDG.rhel5 の RPM を実行して、アップグレードを行います。また、バージョン 2.6.23 以上の libXML2 がインストールされていることを確認してください。通常、このファイルは Red Hat Linux オペレーティング システムと一緒にインストールされます。このファイルがない場合、またはファイルのバージョンが 2.6.23 より古い場合は、libXML2 2.6.23 以降をダウンロードしてインストールします。
- SUSE Linux では、ソースからインストールして PostgreSQL データベース クラスタをアップグレードする方法について、PostgreSQL のドキュメントをご参照ください。
- データベース クラスタからデータベースを削除します。
- データベース クラスタ上でデータベースを再作成します。メモ:
データベースには以前と同じ名前と所有者を指定し、データベースの search_path 変数は "$user"、public、sde に設定する必要があります。
-
MS_DOS(Windows)またはシェル(Linux)コマンド プロンプトから pg_restore コマンドを使用して、データベースを一度に 1 つずつ、更新後の PostgreSQL データベース クラスタに復元します。
復元コマンドはデータベースごとに 2 度実行する必要があります。1 度目には、パブリック スキーマの内容が復元され、2 度目には、その他すべてのスキーマの内容が復元されます。
pg_restore -U postgres -n public -d pgsqldb1 pgsqldb1_bu.dump pg_restore -U postgres -d pgsqldb1 pgsqldb1_bu.dump
- これで PostgreSQL データベース クラスタがアップグレードされたので、ジオデータベースをアップグレードする前に、すべてのデータベースに対して 2 つ目のバックアップを作成します。
-
ArcGIS の外部で、ArcSDE ジオデータベース システム テーブルへ追加したカスタム機能(トリガや追加のインデックスなど)をすべて削除します。
アップグレード手順では、システム テーブルに対して行ったカスタマイズは認識されません。この類のカスタマイズによってシステム テーブルのスキーマの変更が妨げられた場合、アップグレードは失敗します。
-
ArcSDE 管理者(sde)に、データベースのスーパーユーザ権限を付与します。
これは、ジオデータベースをアップグレードするために必要です。
- アップグレードを実行するためにジオデータベースに直接接続できるコンピュータ上に、最新リリースの ArcGIS クライアント(ArcGIS Desktop、ArcGIS Engine Runtime、ArcGIS Server Standard または Advanced)をインストールします。
-
ジオデータベースに接続しているユーザがいないことを確認します。
これは、sdemon コマンドを使用して確認できます。手順については、「接続されているセッションの表示」をご参照ください。
-
sdemon -o shutdown コマンドを使用して、実行中の ArcSDE サービスをシャットダウンします。または、Windows サーバ上でサービスが実行中の場合は、sdemon コマンドを使用する代わりに、Windows サービス インタフェース上でサービスを停止できます。
sdemon コマンドについての詳細は、『ArcSDE コマンド リファレンス』をご参照ください。
- ArcSDE の古いリリースをアンインストールします。手順については、「ArcSDE の Windows からのアンインストール」または「ArcSDE の Linux または UNIX からのアンインストール」をご参照ください。
- Windows で、ArcSDE サービスを実行中の場合は、アンインストールの過程で削除するように求められます。新しいリリースの ArcSDE をインストールする場合は、[はい] をクリックしてサービスを削除します。サービス パックまたはパッチをインストールする場合は、サービス パックまたはパッチの手順でサービスを再作成するように指定されていない限り、[いいえ] をクリックしてサービスを再利用することができます(たとえば、サービス パックまたはパッチがサービスの機能の一部を修正している場合は、再作成が必要になる可能性が非常に高くなります)。
-
ArcSDE の新しいリリースをインストールします。
Windows オペレーティング システムでは、ポスト インストール ウィザードを実行しないでください。ポスト インストール ウィザードは新しいインストール専用です。
-
SDEHOME の新しい bin ディレクトリから PostgreSQL インストール ディレクトリへ st_geometry ファイルをコピーします。ST_Raster タイプを使用する予定がある場合は、libst_raster_pg ライブラリもコピーします。
- Linux では、root ユーザとしてログインし、FTP を使用して st_geometry.so ファイル(および、ST_Raster を使用する場合は libst_raster_pg.so ファイル)を PostgreSQL インストール ディレクトリ以下の lib/pgsql(32 ビット)または lib64/pgsql(64 ビット)ディレクトリに転送します。
- Windows では、st_geometry.dll ファイル(および、ST_Raster を使用する場合は libst_raster_pg.dll ファイル)を PostgreSQL インストール ディレクトリの lib フォルダにコピーします。
これで、ジオデータベースをアップグレードする準備ができました。ArcGIS Desktop の [ジオデータベースのアップグレード(Upgrade Geodatabase)] ツール、または ArcGIS クライアント コンピュータで実行する Python スクリプトを使用できます。