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

使用pg_upgrade升级Aurora PostgreSQL 13至15失败求助

解决Amazon Aurora PostgreSQL 13升级至15时pg_upgrade的函数缺失错误

问题原因

报错中的rds_get_stat_connections_counters是Amazon Aurora专属的系统函数,归属rdsadmin用户/ schema。在Aurora PostgreSQL 15版本中,该函数已被移除,且pg_upgrade过程错误地尝试将原本属于系统的函数恢复到public schema,而新版本的rdsutils.so中已不存在该函数定义。

解决方案

1. 跳过有问题的TOC条目恢复

根据错误信息,问题对应TOC条目225,执行pg_restore时直接排除该条目即可继续:

pg_restore --exclude-toc-entry=225 -d <目标数据库名> <备份文件路径>

2. 优化后续备份策略

Aurora的rdsadmin schema包含系统级对象,无需用户手动备份,升级后的集群会自动维护这些组件。后续备份时需排除相关对象:

  • 使用pg_dump时添加--exclude-schema=rdsadmin参数,避免备份系统对象
  • 或添加--exclude-user=rdsadmin,排除该用户的所有对象

3. 改用Aurora官方升级方式

Amazon Aurora推荐使用AWS原生工具完成版本升级,而非手动执行pg_upgrade:

  • 控制台:进入RDS/Aurora控制台,选择目标集群执行「Modify」操作,指定目标PostgreSQL版本
  • CLI:执行modify-db-cluster命令并指定--engine-version参数
    官方流程会自动处理Aurora专属组件的兼容性,规避手动工具的适配问题。

4. 替代统计方案

若需要原函数的连接统计功能,可使用Aurora PG15的内置对象替代:

  • 查询pg_stat_activity视图获取实时连接状态
  • 查找是否有替代的系统函数:
SELECT proname FROM pg_proc WHERE proname LIKE '%stat_connection%';

内容的提问来源于stack exchange,提问作者Theo Modesto

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 03:33:26