ArcGIS から PostgreSQL への接続
次に示すのは、ArcGIS から、エンタープライズ ジオデータベースを含むデータベースなどの PostgreSQL データベースに接続するために必要な手順の一覧です:
データベース名とユーザー名が ArcGIS オブジェクト名の要件を満たしていることを確認します。
PostgreSQL が、アクセスが必要な ArcGIS クライアント コンピューターからの接続を受け入れる ことを確認します。
データベース コネクション接続を作成します。
PostgreSQL データベースのデータを参照する ArcGIS Server の Web サービスを公開するには、ArcGIS Server サイトにデータベース コネクション ファイルを登録します。
PostgreSQL クライアント ファイルは ArcGIS Pro およびArcGIS Server とともにインストールされます。クライアントにアクセスするために PostgreSQL クライアントをインストールしたり、環境変数を設定したりする必要はありません。
接続を許可するためのデータベースの構成
デフォルトでは、PostgreSQL データベース クラスターには、同じコンピューター上で実行されているクライアントのみが接続できます。 リモート クライアントに対してデータベース クラスターへの接続を許可し、リモート クライアントがアクセス可能なデータベースを制御するには、PostgreSQL の pg_hba.conf 構成ファイルを変更します。 pg_hba.conf ファイルに配置するエントリーは、サイトでのセキュリティー ポリシーおよび構成に応じて変わります。
手順については、PostgreSQL のドキュメント をご参照ください。
データベースへの接続
以下に示すように、ArcGIS Pro の データベース コネクション ダイアログ ボックスを使用して、データベースに接続できます。
または、ArcGIS Pro で データベース コネクションの作成 ツールを実行するか、Python を使用して ArcGIS Server コンピューターから データベース コネクションの作成 コマンドを実行して、データベースに接続するデータベース コネクション ファイル (.sde) を作成できます。
データベース コネクション ファイルを ArcGIS Server で使用するには、ユーザー情報を接続ファイルに保存する必要があります。
オペレーティング システム認証を使用する場合は、PostgreSQL が ArcGIS Server アカウントを認証できることを確認します。
ヒント:
接続に使用されるアカウントに、データベースと、アカウントがアクセスする必要があるデータに対する、適切な権限が付与されていることを確認します。 接続でオペレーティング システム認証を使用し、この接続を使用して Web サービスを公開する場合、Web サービスに含まれるデータに対する必要な権限が ArcGIS Server アカウントに付与されていることを確認します。 詳細については、「PostgreSQL におけるジオデータベースの権限」および「ArcGIS で PostgreSQL データベースを使用するための権限」をご参照ください。
ArcGIS Pro の データベース コネクション ダイアログ ボックスから PostgreSQL データベースに接続するには、次の手順に従います。

ArcGIS Pro で カタログ ウィンドウを開きます。
データベース を右クリックするか、フォルダー の下のフォルダーを右クリックして 新しいデータベース コネクション をクリックします。
データベース プラットフォーム ドロップダウン リストから PostgreSQL を選択します。
インスタンス テキスト ボックスに、PostgreSQL がインストールされているサーバーのデータベース クラスター名または IP アドレスを入力します。
インスタンス テキスト ボックスに含める情報の例を次に示します。
PostgreSQL データベース クラスターが ficus という名前のサーバーに存在する場合、インスタンス テキスト ボックスに「ficus」と入力します。
PostgreSQL データベース クラスターがデフォルト (5432) 以外のポートで接続を待機する場合は、インスタンスにポート番号を含める必要があります。 たとえば、PostgreSQL が mamabear というサーバーにインストールされており、ポート 49200 で接続を待機する場合は、インスタンス テキスト ボックスに「mamabear,49200」と入力します。
IPV6 アドレスを使用して、PostgreSQL がインストールされているサーバーにアクセスするには、アドレスを括弧で囲みます。 たとえば、サーバーの IPV6 アドレスが 1111:aa1:0:1:f111:a222:33f3:b4bb の場合、インスタンス テキスト ボックスに「1111:aa1:0:1:f111:a222:33f3:b4bb」と入力します。
Amazon Aurora (PostgreSQL 互換版) や Amazon RDS for PostgreSQL インスタンスの場合は、
<database_instance_identifier>.<region_id>.rds.amazonaws.comの形式でインスタンス名を指定します。 リレーショナル データベース サービスを作成したとき、データベース インスタンス識別子を指定しました。 リージョン ID は、インスタンスが実行される AWS リージョンの AWS 割り当て識別子です。 たとえば、識別子が mypgrdsdb のインスタンスを us-east-1 の Amazon Web Services リージョンに作成した場合、インスタンス テキスト ボックスに「mypgrdsdb.us-east-1.rds.amazonaws.com」と入力します。Google Cloud SQL for PostgreSQL インスタンスの場合、インスタンス テキスト ボックスにインスタンスのパブリック IP アドレスを指定します。
Microsoft Azure Cosmos DB for PostgreSQL インスタンスの場合、接続文字列は
c.<cluster_name>.postgres.database.azure.comの形式です。 たとえば、作成時にクラスターに allmydata という名前を付けた場合、インスタンス テキスト ボックスに「c.allmydata.postgres.database.azure.com」と入力します。Microsoft Azure Database for PostgreSQL インスタンスの場合、インスタンス名は
<server_name>.postgres.database.azure.comの形式です。 たとえば、作成時にサーバーに spatialdata という名前を付けた場合、インスタンス テキスト ボックスに「spatialdata.postgres.database.azure.com」と入力します。
注意:
PostgreSQL データベース クラスターがデフォルト (5432) 以外のポートで接続を待機する場合は、インスタンスにポート番号を含めることができます。 たとえば、PostgreSQL がサーバー
mamabearにインストールされており、ポート 49200 で接続を待機する場合は、インスタンス テキスト ボックスに「mamabear,49200」と入力します。 または、ポート番号をその他のプロパティとして指定します (下記のステップ 8 を参照)。データベースに接続する際に使用する認証タイプとして、データベース認証 または オペレーティング システム認証 のいずれかを選択します。
オペレーティング システム認証 を選択した場合、ユーザー名とパスワードを指定する必要はありません。接続は、オペレーティング システムへのサイン インに使用された Security Support Provider Interface (SSPI)、Lightweight Directory Access Protocol (LDAP)、または Generic Security Service Application Program Interface (GSSAPI) のログイン名とパスワードを使用して確立されます。 オペレーティング システムに使用するログイン情報がデータベースへのログインにマッピングされていない場合、接続は確立されません。
データベース認証 を選択した場合、有効なユーザー名とパスワードをそれぞれ ユーザー名 と パスワード テキスト ボックスに指定する必要があります。
ログイン情報をコネクションの一部として保存しない場合は、ユーザー名/パスワードの保存 をオフにします。これは、データベースのセキュリティーを維持するのに役立ちます。 ただし、オフにした場合、接続時にユーザー名とパスワードを入力するよう求められます。
注意:
データベース認証を使用してデータベースへのアクセス権を ArcGIS Web サービスに付与する接続ファイルの場合や、この接続ファイルを経由してアクセスするデータを ArcGIS Pro で検索する場合は、ユーザー名とパスワードを保存する チェックボックスをオンにする必要があります。
PostgreSQL データベース クラスター上の接続先データベースの名前を入力または選択します。
コネクション ファイル名 フィールドに接続ファイルの名前を入力します。
接続プロパティの値に基づいてデフォルトの名前が作成されます。 デフォルトを使用することも、より説明的なファイル名を入力することもできます。
これは、カタログ ウィンドウとビューに表示される名前であり、ディスクに保存される
.sdeファイルの名前です。PostgreSQL データベース クラスターがデフォルト以外のポートを介して通信する場合は、その他のプロパティ セクションを展開し、プロパティ ドロップダウン メニューから ポート を選択して 値 フィールドにそのポートを入力します。
検証 をクリックし、接続情報が有効で、データベースにアクセスできることを確認します。
データベースにジオデータベースが含まれ、接続が有効である場合は、ジオデータベース プロパティ タブがアクティブになります。 必要に応じて、ジオデータベースのコネクション プロパティを変更して、デフォルト バージョン以外のトラディショナル バージョンに接続したり、接続をブランチ バージョン コネクションとして構成したり、履歴モーメントに接続したりできます。
OK をクリックして、コネクション ファイルを作成します。
データベース コネクションが カタログ ウィンドウの データベース に表示され、コネクション ファイル (.sde) が ArcGIS Pro のプロジェクト ディレクトリーに作成されます。
接続を ArcGIS Enterprise に登録する
ArcGIS Server サイトでデータにアクセスできるようにするには、作成したデータベース コネクション ファイルを使用して、ArcGIS Pro に登録済みデータ ストアを追加する か、ポータルにデータ ストア アイテムを追加します。
オペレーティング システム認証を使用して接続を登録するには、ArcGIS Enterprise 11.1 以降が必要です。 ArcGIS Server を実行するために使用される ArcGIS Server アカウントは、PostgreSQL のログイン ロールにマップされた SSPI または LDAP ログインの必要があります。 そのログイン ロールには、ジオデータベースまたは PostgreSQL データベースから公開されるテーブルに対する権限を付与する必要があります。