In der folgenden Liste werden die erforderlichen Schritte für die Herstellung einer Verbindung zwischen ArcGIS und einer PostgreSQL-Datenbank (einschließlich Datenbanken, die eine Enterprise-Geodatabase enthalten) zusammengefasst:
- Prüfen Sie, ob der Datenbankname den ArcGIS-Anforderungen entspricht.
- Vergewissern Sie sich, dass PostgreSQL Verbindungen von ArcGIS-Client-Computern annehmen kann, die Zugriff benötigen.
- Erstellen einer Datenbankverbindung
- Um ArcGIS Server-Web-Services zu veröffentlichen, die auf die Daten in Ihrer PostgreSQL-Datenbank verweisen, registrieren Sie die Datenbankverbindungsdatei bei den ArcGIS Server-Sites.
PostgreSQL-Client-Dateien werden zusammen mit ArcGIS Pro und ArcGIS Server installiert; Sie müssen also keinen PostgreSQL-Client installieren oder Umgebungsvariablen festlegen, um auf den Client zugreifen zu können.
Konfigurieren der Akzeptanz von Verbindungen in der Datenbank
Standardmäßig können nur Clients, die auf demselben Computer wie der PostgreSQL-Datenbank-Cluster ausgeführt werden, eine Verbindung zu diesem herstellen. Um Remote-Clients die Verbindungsherstellung mit dem Datenbank-Cluster zu erlauben und deren Zugriff auf Datenbanken zu steuern, müssen Sie die PostgreSQL-Konfigurationsdatei pg_hba.conf abändern. Die Einträge in der Datei pg_hba.conf variieren je nach lokalen Sicherheitsrichtlinien und Konfigurationen.
Anweisungen dazu finden Sie in der PostgreSQL-Dokumentation.
Verbinden mit der Datenbank
Über das Dialogfeld Datenbankverbindung in ArcGIS Pro können Sie wie nachfolgend beschrieben eine Verbindung zur Datenbank herstellen.
Alternativ können Sie auch das Werkzeug Datenbankverbindung erstellen in ArcGIS Pro ausführen oder mithilfe von Python den Befehl Datenbankverbindung erstellen auf einem ArcGIS Server-Computer ausführen und eine Datenbankverbindungsdatei (.sde) erstellen, die eine Verbindung zu der Datenbank herstellt.
Für die Verwendung der Datenbankverbindungsdatei mit ArcGIS Server müssen Sie die Benutzerinformationen mit der Verbindungsdatei speichern.
Wenn Sie die Betriebssystemauthentifizierung verwenden möchten, müssen Sie sicherstellen, dass PostgreSQL das ArcGIS Server-Konto authentifizieren kann.
Tipp:
Vergewissern Sie sich, dass das Konto, über das Sie die Verbindung herstellen, über ausreichende Berechtigungen für die Datenbank und die Daten, auf die es zugreifen muss, verfügt. Wenn für die Verbindung die Betriebssystemauthentifizierung verwendet wird und Sie Web-Services über die Verbindung veröffentlichen möchten, vergewissern Sie sich, dass das ArcGIS Server-Konto über die erforderlichen Berechtigungen für die im Web-Service verwendeten Daten verfügt. Weitere Informationen finden Sie unter PostgreSQL und unter Berechtigungen zum Verwenden von ArcGIS mit einer PostgreSQL-Datenbank.
Führen Sie die folgenden Schritte aus, um im Dialogfeld Datenbankverbindung in ArcGIS Pro eine Verbindung zu einer PostgreSQL-Datenbank herzustellen.
- Öffnen Sie den Bereich Katalog in ArcGIS Pro.
- Klicken Sie mit der rechten Maustaste auf Datenbanken oder einen Ordner unter Ordner, und klicken Sie dann auf Neue Datenbankverbindung.
- Wählen Sie aus der Dropdown-Liste Datenbankplattform den Eintrag PostgreSQL aus.
- Geben Sie im Textfeld Instanz den Namen oder die IP-Adresse des Datenbank-Clusters auf dem Server ein, auf dem PostgreSQL installiert ist.
Nachstehend wird anhand von Beispielen gezeigt, welche Informationen im Textfeld Instanz eingegeben werden müssen:
- Wenn der PostgreSQL-Datenbank-Cluster auf dem Server "ficus" installiert ist, geben Sie im Textfeld Instanz den Namen ficus ein.
- Wenn der PostgreSQL-Datenbank-Cluster einen anderen Port als den Standardport (5432) überwacht, geben Sie mit der Instanz auch die Portnummer an. Wenn PostgreSQL beispielsweise auf dem Server "mamabear" installiert ist und Port 49200 überwacht, geben Sie im Textfeld Instanz die Zeichenfolge mamabear,49200 ein.
- Wenn Sie für den Zugriff auf den Server, auf dem PostgreSQL installiert ist, eine IPV6-Adresse verwenden möchten, geben Sie die Adresse in Klammern an. Wenn die IPV6-Adresse des Servers 1111:aa1:0:1:f111:a222:33f3:b4bb lautet, geben Sie im Textfeld Instanz die Zeichenfolge [1111:aa1:0:1:f111:a222:33f3:b4bb] ein.
- Bei einer Amazon Aurora (PostgreSQL-compatible edition)- oder Amazon RDS for PostgreSQL-Instanz geben Sie den Namen der Instanz im Format <database_instance_identifier>.<region_id>.rds.amazonaws.com an. Wenn Sie die Instanz beispielsweise mit der Kennung "mypgrdsdb" in der Amazon Web Services-Region "us-east-1" erstellt haben, geben Sie die Zeichenfolge mypgrdsdb.us-east-1.rds.amazonaws.com in das Textfeld Instanz ein.
- Bei einer Google Cloud SQL for PostgreSQL-Instanz geben Sie die öffentliche IP-Adresse der Instanz in das Textfeld Instanz ein.
- Bei einer Microsoft Azure Cosmos DB for PostgreSQL-Instanz weist die Verbindungszeichenfolge das Format c.<cluster_name>.postgres.database.azure.com auf. Wenn Sie dem Cluster beim Erstellen beispielsweise den Namen "allmydata" gegeben haben, geben Sie die Zeichenfolge c.allmydata.postgres.database.azure.com in das Textfeld Instanz ein.
- Bei einer Microsoft Azure Database for PostgreSQL-Instanz weist der Name der Instanz das Format <server_name>.postgres.database.azure.com auf. Wenn Sie dem Server beim Erstellen beispielsweise den Namen "spatialdata" gegeben haben, geben Sie die Zeichenfolge spatialdata.postgres.database.azure.com in das Textfeld Instanz ein.
Hinweis:
Wenn der PostgreSQL-Datenbank-Cluster einen anderen Port als den Standardport (5432) überwacht, können Sie mit der Instanz auch die Portnummer angeben. Wenn PostgreSQL beispielsweise auf dem Server mamabear installiert ist und Port 49200 überwacht, geben Sie im Textfeld Instanz die Zeichenfolge mamabear,49200 ein. Sie können aber auch die Portnummer als zusätzliche Eigenschaft angeben (siehe Schritt 8 weiter unten).
- Wählen Sie den Authentifizierungstyp, der für die Herstellung einer Verbindung mit der Datenbank verwendet werden soll: Datenbankauthentifizierung oder Betriebssystemauthentifizierung.
- Wenn Sie Betriebssystemauthentifizierung auswählen, müssen Sie keinen Benutzernamen und kein Kennwort eingeben. Die Verbindung wird anhand des Anmeldenamens und des Kennwortes für Security Support Provider Interface (SSPI), Lightweight Directory Access Protocol (LDAP) oder Generic Security Service Application Program Interface (GSSAPI) hergestellt, die zur Anmeldung beim Betriebssystem verwendet wurden. Falls die Anmeldedaten für das Betriebssystem keiner gültigen Datenbankanmeldung zugeordnet sind, kann keine Verbindung hergestellt werden.
Wenn Sie Datenbankauthentifizierung auswählen, müssen Sie in den Textfeldern Benutzername und Kennwort einen gültigen Benutzernamen und ein Kennwort angeben. Benutzernamen dürfen maximal 30 Zeichen lang sein.
Deaktivieren Sie die Option Benutzername und Kennwort speichern, wenn Sie die Anmeldeinformationen nicht als Teil der Verbindung speichern möchten. Dies erhöht die Sicherheit der Datenbank. Allerdings werden Sie in diesem Fall bei jedem Verbindungsaufbau zur Eingabe eines Benutzernamens und eines Kennwortes aufgefordert.
Hinweis:
Die Option Benutzername und Kennwort speichern muss für Verbindungsdateien aktiviert sein, die die Datenbankauthentifizierung verwenden, um ArcGIS-Web-Services den Zugriff auf die Datenbank zu gewähren. Dies gilt auch, wenn Sie in ArcGIS Pro nach Daten suchen möchten, auf die über diese Verbindungsdatei zugegriffen wird.
- Geben Sie den Namen der Datenbank auf dem PostgreSQL-Datenbank-Cluster ein, mit dem Sie eine Verbindung herstellen möchten, oder wählen Sie ihn aus.
- Geben Sie einen Namen für die Verbindungsdatei in das Feld Name der Verbindungsdatei ein.
Während Sie die Verbindungsinformationen eingeben, wird ein Standardname erstellt. Sie können den Standardnamen verwenden oder einen aussagekräftigeren Dateinamen eingeben.
Dies ist der Name, der im Bereich Katalog und in der Ansicht "Katalog" angezeigt wird, sowie der Name der auf der Festplatte gespeicherten .sde-Datei.
- Wenn der PostgreSQL-Datenbank-Cluster über einen nicht standardmäßigen Port kommuniziert, erweitern Sie den Abschnitt Zusätzliche Eigenschaften, wählen Sie Port im Dropdown-Menü Eigenschaft aus, und geben Sie den Port im Feld Wert ein.
- Klicken Sie auf Überprüfen, um zu bestätigen, dass die Verbindungsinformationen gültig sind und auf die Datenbank zugegriffen werden kann.
Wenn die Datenbank eine Geodatabase enthält und die Verbindung gültig ist, ist die Registerkarte Geodatabase-Eigenschaften nun aktiv. Bei Bedarf können Sie die Eigenschaften der Geodatabase-Verbindung ändern, um eine Verbindung zu einer traditionellen Version und nicht zur Default-Version herzustellen, die Verbindung als Verbindung zu einer Verzweigungsversion zu konfigurieren oder eine Verbindung zu einem historischen Zeitpunkt herzustellen.
- Klicken Sie auf OK, um die Verbindungsdatei zu erstellen.
Unter Datenbanken im Bereich Katalog wird eine Datenbankverbindung angezeigt, und im Verzeichnis des .sde-Projekts wird eine Verbindungsdatei (ArcGIS Pro) erstellt.
Registrieren der Verbindung bei ArcGIS Enterprise
Damit ArcGIS Server-Sites auf die Daten zugreifen können, müssen Sie mithilfe der erstellten Datenbankverbindungsdatei einen registrierten Data Store in ArcGIS Pro hinzufügen oder ein Data-Store-Element im Portal hinzufügen.
Für die Registrierung einer Verbindung mit Betriebssystemauthentifizierung ist ArcGIS Enterprise 11.1 oder höher erforderlich. Das ArcGIS Server-Konto, mit dem ArcGIS Server ausgeführt wird, muss über SSPI- oder LDAP-Anmeldedaten verfügen, die einer Anmelderolle in PostgreSQL zugeordnet sind. Dieser Anmelderolle müssen Berechtigungen für die Tabellen, die aus der Geodatabase oder der PostgreSQL-Datenbank veröffentlicht werden sollen, gewährt werden.