恢复转储时出现“函数 public.pg_stat_statements_reset() 不存在”错误

问题描述 投票:0回答:1

我正在使用此命令使用 pg_dump 转储数据库

pg_dump -U [username] -h <[hostname] -p [port] -v [database_name] > dump.sql

并使用

恢复到新数据库

psql -U [username] -h [hostname] -p [port] [database_name] < dump.sql

并且我在恢复转储时收到此错误:

ERROR:  function public.pg_stat_statements_reset() does not exist

我找到了一些与此相关的答案,其作用如下:

  1. 安装 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.9             | 1.9               | track planning and execution statistics of all SQL statements executed
  1. 我的 pg.conf 文件已包含以下行:
shared_preload_libraries = 'pg_stat_statements'
pg_stat_statements.track = all

尝试在 pgadmin 中以自定义、Tar 和纯格式进行备份,但没有帮助 还可以使用 pg_restore。 使用具有超级用户权限的“postgres”用户进行恢复

请帮忙解决这个问题。短暂性脑缺血发作。

postgresql pg-dump pg-restore
1个回答
0
投票

请检查您要恢复的同一数据库和 postgres 数据库中的扩展可用性。

© www.soinside.com 2019 - 2024. All rights reserved.