You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

是否有官方方式通过Terraform为GCP Cloud SQL Postgres安装扩展

GCP Cloud SQL Postgres 扩展(PostGIS)Terraform 部署方案

前置说明

  • 官方Google Cloud Terraform Provider目前未提供原生的Postgres扩展管理资源,生产环境主流方案是使用社区维护的postgresql provider实现扩展安装

分步操作

1. 声明Provider依赖

terraform {
  required_providers {
    google = {
      source  = "hashicorp/google"
      version = "~> 4.0"
    }
    postgresql = {
      source  = "cyrilgdn/postgresql"
      version = "~> 1.18"
    }
  }
}

2. 部署Cloud SQL Postgres实例基础配置

# Cloud SQL实例配置
resource "google_sql_database_instance" "postgres" {
  name             = "postgres-instance"
  database_version = "POSTGRES_14"
  settings {
    tier = "db-f1-micro"
    # 可选:配置授权网络,允许运行Terraform的设备IP访问实例
    ip_configuration {
      authorized_networks {
        name  = "terraform-runner"
        value = "你的设备出口公网IP/32"
      }
    }
  }
}

# 目标业务数据库
resource "google_sql_database" "app_db" {
  name     = "app_db"
  instance = google_sql_database_instance.postgres.name
}

如果不想暴露实例公网,可跳过授权网络配置,后续通过Cloud SQL Auth Proxy做本地端口转发连接实例。

3. 配置PostgreSQL Provider关联Cloud SQL实例

provider "postgresql" {
  host      = google_sql_database_instance.postgres.public_ip_address
  port      = 5432
  username  = "postgres" # 支持替换为你自定义的高权限用户
  password  = "你的实例管理员密码" # 建议通过google_sql_user资源或Secret Manager管理敏感信息
  database  = google_sql_database.app_db.name
  sslmode   = "require" # Cloud SQL强制要求SSL连接,为必填参数
}

如果使用Cloud SQL Auth Proxy连接,将host改为127.0.0.1,port改为本地转发的对应端口即可。

4. 安装PostGIS扩展

resource "postgresql_extension" "postgis" {
  name   = "postgis"
  schema = "public" # 可按需调整扩展所属的schema
  depends_on = [
    google_sql_database_instance.postgres,
    google_sql_database.app_db
  ]
}

注意事项

  • 运行terraform apply前请确认运行Terraform的设备可正常连通Cloud SQL实例的5432端口
  • 若需要安装其他Postgres扩展,只需替换postgresql_extension资源中的name参数为对应扩展名即可,需确认扩展在Cloud SQL支持的扩展列表范围内
  • PostGIS扩展版本会自动适配当前Postgres实例的版本,无需额外指定版本参数

内容的提问来源于stack exchange,提问作者Juan Delgado

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 17:21:01