要从 ArcGIS for Desktop 连接到 PostgreSQL 中的数据库或地理数据库,请将 PostgreSQL 客户端文件放在 Desktop bin 文件夹中,并通过目录树创建数据库连接。要从 ArcGIS for Server 进行连接,请将数据库注册到 ArcGIS Server。
从 ArcGIS for Desktop 连接
ArcGIS for Desktop 随附 PostgreSQL 客户端文件。您需要将数据库配置为接受连接,并通过目录树创建数据库连接以从 ArcGIS for Desktop 连接到 PostgreSQL。
配置数据库以允许连接
更改 PostgreSQL pg_hba.conf 文件并确保必要的登录帐户或组角色在数据库中具有 CONNECT 权限。
- 在数据库服务器上更改 PostgreSQL pg_hba.conf 文件使之接受来自 ArcGIS 客户端计算机的连接。
- 重新启动 PostgreSQL 或通过运行 pg_ctl reload 强制 postmaster 重新加载 pg_hba.conf 文件。
- 请确保用户拥有连接到数据库集群的权限。
默认情况下,“公共”角色具有 PostgreSQL 数据库集群的 CONNECT 权限;因此,如果撤消了“公共”角色的 CONNECT 权限,仅需要为各个登录或组角色授予 CONNECT 权限。
连接到数据库
您可以通过在 ArcGIS for Desktop 中目录树内的“数据库连接”节点下添加数据库连接的方式连接到 PostgreSQL 中的数据库或地理数据库。
- 在 ArcMap 或 ArcCatalog 的目录树中,展开数据库连接,然后双击添加数据库连接。
- 从数据库平台下拉列表中选择 PostgreSQL。
- 在实例文本框中,输入安装 PostgreSQL 的服务器的数据库群集名称或 IP 地址。
例如,如果 PostgreSQL 数据库集群名为 ficus,请在实例文本框中输入 ficus。如果指定 IPV6 地址,则要用括号将地址括起来。例如,如果服务器的 IPV6 地址是 1111:aa1:0:1:f111:a222:33f3:b4bb,请在实例文本框中输入 [1111:aa1:0:1:f111:a222:33f3:b4bb]。
- 使用数据库身份验证进行连接。
- 提供用于连接的登录角色名称和密码。
- 如果不希望将登录信息保存为连接的一部分,请取消选中保存用户名和密码;这样做可帮助保持数据库的安全性。但是,如果执行此操作,则系统会在每次连接时提示您提供用户名和密码。另请注意,对于为 ArcGIS 服务提供数据库或地理数据库访问的连接文件,或想要通过此连接文件使用目录搜索来定位访问的数据,都必须选中保存用户名和密码。
- 输入或选择想要连接到的 PostgreSQL 数据库集群中的数据库的名称。
在以下示例中,user1 正连接到 tundra PostgreSQL 数据库集群上的数据库 floe:
- 单击确定进行连接。
文件的创建位置为 \\<computer_name>\Users\<user_name>\AppData\Roaming\ESRI\Desktop<release#>\ArcCatalog。如遇任何连接问题,请检查 %TEMP% 目录中的 sdedc_PostgreSQL.log 文件以获得更多的错误消息。
可以将连接移动到另一位置;只需确保需要建立连接的用户和应用程序有权读取放置连接文件的目录。
如果需要将此连接文件中的数据用作服务(如地理处理和地理编码服务)源,则可能需要将连接文件置于网络上的某个共享位置。有关共享连接文件的详细信息,请参阅准备要作为服务发布的资源。
连接到特定版本
在使用数据库连接对话框首次连接至地理数据库时,将连接到 DEFAULT 版本。如果使用地理数据库版本化,并想要连接到其他事务版本或历史版本,请使用地理数据库连接属性对话框。有关详细信息,请参阅连接到特定地理数据库版本。
从 ArcGIS for Server 连接
ArcGIS for Server 包括 PostgreSQL 客户端文件;因此,您无需下载和复制 PostgreSQL 客户端文件进行连接。
如果希望发布到 ArcGIS Server 中的服务使用 PostgreSQL 中数据库或地理数据库的数据,请将该数据库注册到 ArcGIS Server。有关注册选项和含注册数据库说明的主题链接的信息,请参阅关于将您的数据注册到服务器。