我想将 CloudSQL (GCP) 上的 Postgres 9.6 数据库升级到版本 13。由于 SQL 导出/导入是唯一受支持的升级路径,我已导出 PG9.6 数据库并尝试将其导入新的 PG13 实例。
导入失败,但出现以下错误:
ERROR: function public.pg_stat_statements_reset() does not exist
我认为它是由转储中的以下行触发的:
GRANT ALL ON FUNCTION public.pg_stat_statements_reset() TO somerandomuser;
当我尝试在新的 PG13 实例上手动执行该单行时,我也遇到了错误。同样的情况也发生在 PG12 上。
不过在 PG11 上,它工作正常。
我已确保pg_stat_statements
在所有经过测试的数据库实例中都安装了该扩展:
SELECT * FROM pg_available_extensions WHERE name = 'pg_stat_statements' and installed_version is not null;
name | default_version | installed_version | comment
--------------------+-----------------+-------------------+------------------------------------------------------------------------
pg_stat_statements | 1.8 | 1.8 | track planning and execution statistics of all SQL statements executed
(1 row)
我找不到任何有关影响此的重大更改的文档。关于它为什么不起作用的任何想法?