将 PostgreSQL 数据库注册到服务器
作为服务器管理员,您可以选择将数据文件夹、数据库和地理数据库注册到 ArcGIS Server。数据注册会为服务器提供一份位置列表,这些位置已经由服务器管理员验证,可供 GIS 服务器访问。在多台机器上进行发布时,数据注册还有助于 GIS 服务器了解如何调整数据路径。
以下各部分介绍如何准备 ArcGIS 客户端以连接到 PostgreSQL 数据库(无论数据库中是否包含地理数据库),以及如何将数据库注册到 ArcGIS Server。
复制 PostgreSQL 客户端文件
要从 ArcGIS 客户端直连到 PostgreSQL 数据库,您必须将 PostgreSQL 客户端库放置在 ArcGIS 客户端的 bin 目录中。可从 Esri 客户关怀中心门户下载客户端库。
请确保使用操作系统和 ArcGIS 客户端所对应的库。例如,要从 Linux 上的 ArcGIS Server 连接到 PostgreSQL,您必须将 Linux 64 位客户端库放置到 ArcGIS Server bin 目录中。要从 ArcGIS for Desktop 连接到 PostgreSQL,则必须将 Windows 32 位客户端库放置到 Desktop bin 目录中。
如果您的 ArcGIS Server 站点由多个服务器计算机组成,您必须将 64 位 PostgreSQL 客户端库放置到站点中的所有服务器上。
有关 PostgreSQL 客户端库的详细信息,请参阅设置到 PostgreSQL 的连接。
设置变量
从 ArcGIS for Server (Linux) 连接时,必须在 ArcGIS Server init_user_param.sh 脚本中为 PostgreSQL 设置以下变量:
- PGHOME
- PATH
- LD_LIBRARY_PATH
有关详细信息,请参阅配置与 ArcGIS Server 中数据库的连接中的“请参考 init_user_param.sh 脚本中的数据库客户端库”部分。
授予权限
必须在数据库中向将用于连接数据库的 PostgreSQL 组授予访问待发布数据的权限。
- 该角色必须能够连接到数据库。默认情况下,为公共组授予此权限。如果撤消公共组的此项权限,则必须将其授予特定的登录角色或组。
- 必须为该角色授予针对包含待发布数据或其他资源的所有方案的 USAGE 权限。如果您使用的是地理数据库,则必须授予该角色针对 sde 方案的 USAGE 权限。
- 必须至少授予该角色针对待发布数据的 SELECT 权限。
- 如果您将发布可编辑要素服务,则必须授予该角色针对待编辑数据的所需权限 - INSERT、UPDATE 和/或 DELETE。您可通过 ArcGIS for Desktop 授予 SELECT、INSERT、UPDATE 和 DELETE 权限。有关详细信息,请参阅授予和撤消数据集的权限。
- 如果要将地理数据库注册为托管数据库,则连接到的用户必须具有在地理数据库中创建数据的充足权限,并且必须拥有与数据库用户名相匹配的方案。
有关不同类型数据库用户权限的详细信息,请参阅 PostgreSQL 地理数据库的用户权限。
连接到 PostgreSQL
要将数据库注册到服务器,必须提供连接信息。可实现此目的的方法有两种:
- 导入包含连接信息的现有 .sde 文件。
可以通过 ArcGIS for Desktop 中的目录树使用创建数据库连接地理处理工具或 Python 脚本来创建数据库连接 (.sde) 文件。
- 注册时提供您的连接信息。
无论选择何种方法,要直连至 PostgreSQL 都须提供以下信息:
- 要连接的 DBMS 类型(这种情况下为 PostgreSQL)
- 安装有 PostgreSQL 的服务器的名称
- 设置为数据库验证的“验证类型”
- 有效的数据库登录名和密码(必须保存为连接的一部分)
- 数据库名称
有关详细信息,请参阅 ArcGIS Desktop 中的数据库连接。
如果想使用 ArcSDE 服务连接到 PostgreSQL 中的地理数据库,则必须使用创建 ArcSDE 连接文件地理处理工具或 Python 脚本来创建 .sde 文件。然后,在将地理数据库注册到 ArcGIS Server 时导入连接。
将数据库注册到 ArcGIS Server
您可通过服务器管理器或 ArcGIS for Desktop 中的目录树注册此数据库。有关注册选项以及如何注册数据库的说明,请参阅以下主题: