我有一个 RDS Postgres 实例。我已使用 CloudFormation 模板启动了此实例。我可以在此实例上添加 PostGIS 扩展。
我将使用此模板频繁启动多个 RDS 实例,每次我需要在实例上进行 PostGIS 扩展时。有什么办法可以让我在 RDS 上自动安装 Postgres 扩展吗?
根据 RDS 文档 启用此功能的唯一方法是运行以下 SQL 语句。
create extension postgis;
CREATE EXTENSION
create extension fuzzystrmatch;
CREATE EXTENSION
create extension postgis_tiger_geocoder;
CREATE EXTENSION
create extension postgis_topology;
CREATE EXTENSION
要发生这种情况,资源需要能够执行 SQL 语句,这需要额外的资源才能应用此语句。
CloudFormation 支持自定义资源,允许 Lambda 函数执行自定义功能。该 Lambda 需要能够连接到您的 RDS 才能执行 SQL 命令。