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

如何在保留PostGIS的情况下升级AWS RDS PostgreSQL 14至15版本?

解决方案:不删除核心PostGIS升级RDS PostgreSQL至15.2

可以在保留核心PostGIS扩展的前提下完成升级,但需要先处理损坏的postgis_raster扩展并清理无用依赖,具体步骤如下:

1. 先备份所有数据库

升级前务必完成全量备份,避免操作失误导致数据丢失。

2. 清理损坏的postgis_raster及无用依赖扩展

针对每个包含PostGIS的数据库执行以下操作:

  • 删除损坏的postgis_raster扩展:
    DROP EXTENSION IF EXISTS postgis_raster CASCADE;
    
    如果上述命令因扩展损坏报错,尝试强制删除:
    DROP EXTENSION postgis_raster FORCE;
    
  • 确认所有PostGIS依赖扩展已清理,执行查询检查:
    SELECT extname FROM pg_extension 
    WHERE extname IN ('address_standardizer', 'address_standardizer_data_us', 'postgis_tiger_geocoder', 'postgis_topology');
    
    若返回结果不为空,逐个删除这些未使用的依赖:
    DROP EXTENSION IF EXISTS [扩展名称] CASCADE;
    

3. 触发PostgreSQL实例升级

完成上述清理后,直接通过AWS控制台或CLI触发RDS实例升级至PostgreSQL 15.2:

  • RDS会自动将核心PostGIS扩展升级至与PG15兼容的版本(无需手动指定版本)
  • 若升级前仍提示PostGIS版本问题,可先在每个数据库中执行:
    ALTER EXTENSION postgis UPDATE;
    
    让RDS将PostGIS升级至当前PG版本支持的最高兼容版本,再执行PG主版本升级。

关键说明

  • RDS PostgreSQL主版本升级时,扩展的兼容性由AWS自动处理,只要无损坏扩展和冗余依赖,核心PostGIS可保留并自动升级到适配PG15的版本
  • postgis_extensions_upgrade()函数在RDS中可能因权限限制无法生效,优先依赖RDS的内置升级机制或ALTER EXTENSION命令处理

内容的提问来源于stack exchange,提问作者Peter Kusza

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 18:03:15