如果通过 ArcGIS Server Cloud Builder on Amazon Web Services 并使用包含 Amazon Relational Database Service (RDS) for PostgreSQL 的 Esri AMI 来启动 ArcGIS Server on Amazon Web Services (AWS) 实例,则在 RDS 实例中将创建两个企业级地理数据库。如果您想要创建附加地理数据库 - 例如,如果您想要自定义所使用的地理数据库名称或位置,或者有多个部门需要维护各自的离散数据并且需要自己的地理数据库 - 您可以使用 pgAdmin 或 SQL 来创建附加数据库,在每个数据库中创建 sde 方案并运行启用企业级地理数据库地理处理工具在每个数据库中创建地理数据库。
使用 AWS 管理控制台手动配置站点时,不会创建任何 RDS 实例、sde 登录角色、数据库或地理数据库。如果想要在 Amazon RDS for PostgreSQL 实例以及其中一个 ArcGIS Server on Amazon Web Services 实例中使用企业级地理数据库,请执行以下步骤:
- 通过 Amazon RDS 控制台创建 PostgreSQL 数据库实例和数据库。
有关创建 PostgreSQL 数据库 RDS 实例和数据库的说明,请参阅 Amazon Web Services (AWS) 文档。建议从教程创建 PostgreSQL DB 实例和连接到 PostgreSQL DB 实例上的数据库开始。
- 将 PostGIS 扩展模块加载到您已创建数据库的公共方案。
CREATE EXTENSION postgis SCHEMA public;
- 从 SQL 客户端连接到您的 PostgreSQL RDS 数据库实例。以主用户身份进行连接。
- 从 SQL 客户端在 PostgreSQL 数据库集群中创建 sde 登录角色。
您必须为 sde 登录账户授予 rds_superuser 角色,以使其启用自身的地理数据库功能。
CREATE ROLE sde WITH PASSWORD 'MeyeP@$$w0rd' LOGIN; GRANT rds_superuser TO sde;
- 从 SQL 客户端在您所创建的数据库中创建名为 sde 的方案,并使 sde 登录帐户成为 sde 方案的所有者。
CREATE SCHEMA sde; ALTER SCHEMA sde OWNER TO sde;
注:
用户和方案名称需要全部使用小写字符;地理数据库不支持混合字符和大写字符的名称。
- 更改权限并设置数据库的搜索路径。
ALTER DATABASE <database> SET search_path = "$user", public, sde; GRANT ALL ON DATABASE <database> TO public; GRANT ALL ON DATABASE <database> TO sde;
- 创建从 ArcGIS 到数据库的数据库连接。使用 sde 登录帐户进行连接。可使用以下任意一种方法创建数据库连接:
- 在 ArcMap 或 ArcCatalog 的目录窗口中添加数据库连接。
- 在 ArcGIS Pro 的工程窗格中添加新建数据库连接。
- 运行 ArcMap、ArcCatalog 或 ArcGIS Pro 中的创建数据库连接地理处理工具。
- 运行能够从已安装 ArcGIS for Server、ArcMap 或 ArcGIS Pro 的计算机调用创建数据库连接工具的 Python 脚本。
在下一步骤中您将使用生成的数据库连接文件 (.sde) 作为输入。
- 运行启用企业级地理数据库地理处理工具或调用该工具的 Python 脚本以在数据库中创建地理数据库。
注:
不能使用创建企业级地理数据库地理处理工具或脚本在 PostgreSQL RDS 中创建 sde 用户和地理数据库。
- 使用 SQL 创建登录角色和方案(名称相同)以将数据加载至地理数据库。
在本示例中,用户名为数据加载者。
CREATE ROLE dataloader WITH PASSWORD 'dkey2DL' LOGIN; CREATE SCHEMA dataloader; ALTER SCHEMA dataloader OWNER TO dataloader;
注:
用户和方案名称需要全部使用小写字符;地理数据库不支持混合字符和大写字符的名称。
- 授予此登录帐户 sde 方案的使用权限,并授予 sde 登录帐户新方案的使用权限。
GRANT USAGE ON SCHEMA sde TO dataloader; GRANT USAGE ON SCHEMA dataloader TO sde;
- 创建以 ArcGIS 为起点的其他数据库连接,连接形式为您所创建的用于加载数据的登录帐户。
- 使用此新数据库连接文件将地理数据库注册到 ArcGIS Server 实例。