从 ArcGIS 连接到 PostgreSQL

以下列表汇总了从 ArcGIS 连接到 PostgreSQL 数据库(包括含企业级地理数据库的数据库)所需的步骤:

PostgreSQL 客户端文件已随 ArcGIS ProArcGIS Server 安装;您无需安装 PostgreSQL 客户端或设置用于访问客户端的环境变量。

连接到数据库

您可以在 ArcGIS Pro 中使用数据库连接对话框连接到数据库,如下所述。

或者,您可以在 ArcGIS Pro 中运行创建数据库连接工具或通过 ArcGIS Server 计算机使用 Python 运行创建数据库连接命令,以创建可连接到数据库的数据库连接文件 (.sde)。

要将数据库连接文件与 ArcGIS Server 配合使用,必须将用户信息与连接文件一起保存。

如果选择使用操作系统身份验证,则要确保 PostgreSQL 能够对 ArcGIS Server 帐户进行身份验证。

提示:

确保用于连接的帐户具有适当权限,可以访问数据库和帐户需要访问的数据。 如果连接使用操作系统身份验证,并且您将使用此连接发布 web 服务,确保 ArcGIS Server 帐户具有 web 服务中所含数据的适当权限。 有关详细信息,请参阅 PostgreSQL 中地理数据库的权限用于在 ArcGIS 中使用 PostgreSQL 数据库的权限

按照以下步骤在 ArcGIS Pro 中通过数据库连接对话框连接到 PostgreSQL 数据库:

  1. 打开 ArcGIS Pro 中的目录窗格。
  2. 右键单击数据库,然后单击新建数据库连接
  3. 数据库平台下拉列表中选择 PostgreSQL
  4. 实例文本框中,输入安装 PostgreSQL 的服务器的数据库集群名称或 IP 地址。

    例如,如果 PostgreSQL 数据库集群名为 ficus,请在实例文本框中输入 ficus。 如果指定 IPV6 地址,则要用括号将地址括起来。 例如,如果服务器的 IPV6 地址是 1111:aa1:0:1:f111:a222:33f3:b4bb,请在实例文本框中输入 [1111:aa1:0:1:f111:a222:33f3:b4bb]

    有关详细信息,包括连接到 PostgreSQL 数据库服务的示例,请参阅 ArcGIS Pro 中的数据库连接

    注:

    如果 PostgreSQL 数据库集群监听的不是默认端口 (5432),请将端口号包括在实例内。 例如,如果 PostgreSQL 安装在服务器 mamabear 上,且监听端口 49200,请在实例文本框中输入 mamabear,49200

  5. 选择连接到数据库时使用的身份验证类型:数据库身份验证操作系统身份验证
    • 如果选择操作系统身份验证,则无需键入用户名和密码,系统将使用安全支持提供程序界面 (SSPI) 或轻量级目录访问协议 (LDAP) 登录名和密码建立连接,以登录操作系统。 如果操作系统使用的登录信息未映射到有效的数据库登录信息,则连接将失败。
    • 如果选择数据库身份验证,则必须分别在用户名密码文本框中提供有效的用户名和密码。 用户名最多可以是 30 个字符。

      如果不希望将登录信息保存为连接的一部分,请取消选中保存用户名和密码;这样做有助于维护数据库的安全性。 但是,如果执行此操作,则系统会在每次连接时提示您提供用户名和密码。

    注:

    对于使用数据库身份验证为 ArcGIS web 服务提供数据库访问的连接文件,或希望使用搜索 ArcGIS Pro 找到通过此连接文件访问的数据,都必须选中保存用户名和密码

  6. 输入或选择想要连接到的 PostgreSQL 数据库集群中的数据库的名称。

    连接时必须键入数据库名称;Microsoft Azure Cosmos DB for PostgreSQL 没有可用的数据库列表,连接到 Azure Cosmos DB for PostgreSQL 时访问数据库下拉菜单返回错误。

  7. 单击确定创建连接文件。

数据库连接将显示在目录窗格中的数据库下,同时将在 ArcGIS Pro 工程目录中创建连接文件 (.sde)。

可通过在目录窗格中输入新名称并按 Enter 键对文件进行重命名。

将连接注册到 ArcGIS Enterprise

要允许 ArcGIS Server 站点访问数据,使用您创建的数据库连接文件在 ArcGIS Pro添加注册的数据存储在门户中添加数据存储项目

要使用操作系统身份验证注册连接,需要 ArcGIS Enterprise 11.1 或更高版本。 用于运行 ArcGIS ServerArcGIS Server 帐户必须是映射到 PostgreSQL 中的登录角色的 SSPI 或 LDAP 登录。 该登录角色必须被授予访问要从地理数据库或 PostgreSQL 数据库发布的表的权限。