PostgreSQL pg_upgrade --升级后链接模式性能问题

1 postgresql

尝试将 PostgreSQL 从 9.0 升级到 9.3。我使用pg_upgrade该模式是因为与其他选项(例如不使用 )--link相比,停机时间非常短。pg_dumpallpg_upgrade--link

升级并执行 SQL 语句后检查执行时间。第一次需要近30分钟,第二次以后需要15分钟。在 9.0 中执行的相同查询甚至不需要整整 45 秒。

行数:150000 条记录使用相同的 postgresql.conf 文件 vaccumdb all:升级后完成

我还需要配置其他东西来提高性能吗?

它没有在文档中说明任何pg_upgrade --link会降低性能的地方。

执行升级
------------------
分析新集群中的所有行 ok
冻结新集群上的所有行即可
从新的 pg_clog 中删除文件 ok
将旧的 pg_clog 复制到新服务器即可
为新集群设置下一个事务 ID 确定
从新的 pg_multixact/offsets 删除文件 ok
可以在新集群上设置最旧的 multixact ID
重置 WAL 存档即可
在新集群中设置 freezexid 和 minmxid 计数器即可
在新集群中恢复全局对象 ok
向新集群添加支持功能 ok
在新集群中恢复数据库模式

我的数据库

在新集群中设置 minmxid 计数器即可
可以从新集群中删除支持功能
将“.old”后缀添加到旧的 global/pg_control 即可

如果要启动旧集群,则需要删除
/opt/postgres/9.0/data/global/pg_control.old 中的“.old”后缀。
由于使用了“link”模式,旧集群无法安全
一旦新集群启动就开始。

为新集群设置下一个 OID 即可
将数据目录同步到磁盘即可
创建脚本来分析新集群 ok
创建脚本来删除旧集群 ok

升级完成
----------------
优化器统计信息不会由 pg_upgrade 传输,因此,
一旦启动新服务器,请考虑运行:
    分析新集群.sh

运行此脚本将删除旧集群的数据文件:
    删除旧集群.sh

我收到了类似上面的消息,但我在 postgres 文件夹中找不到要执行的此类文件。

我正在使用 openscg 社区的 postgresql 9.3.5

**postgresql.conf 更改**

共享缓冲区 = 4GB
工作内存 = 128MB
维护工作内存 = 256MB
有效缓存大小 = 12GB

Noa*_*ter 5

之后,pg_upgrade所有优化器统计信息都消失了。你需要ANALYZE所有的桌子。无论您是否使用,都是如此--link