我使用 pg_upgrade--link
选项从 Postgres 10 升级到 Postgres 14。数据库总大小约为 10TB。pg_upgrade 成功且快速,就像建议的工具一样 -
Optimizer statistics are not transferred by pg_upgrade. Once you start the new server, consider running: /usr/pgsql-14/bin/vacuumdb --all --analyze-in-stages
我运行了上述命令,但进程卡住了。作为这种(或不确定,不确定)的副作用,当我创建出版物时,提示永远不会回来,并且即使经过数小时也不会创建出版物。
postgres=# select * from pg_stat_progress_vacuum;
c1 | c2 |
---|---|
PID | 9520 |
数据 | 16402 |
数据名 | xyz |
重 | 22423 |
阶段 | 吸尘指数 |
heap_blks_total | 232816470 |
heap_blks_scanned | 36766348 |
heap_blks_vacuumed | 0 |
index_vacuum_count | 0 |
max_dead_tuples | 11184809 |
num_dead_tuples | 11184521 |
这与昨天的输出相同。我能做些什么来加快这个和“创建出版物”命令?附带说明:运行 Postgres 的 VM 非常强大(64GB RAM,16 核)。谢谢!
编辑 1:相同 pid 的 pg_stat_activity 的输出,
c1 | c2 |
---|---|
PID | 9520 |
backend_start | 2021-12-06 15:13:23.479071-08 |
xact_start | 2021-12-06 15:13:23.512581-08 |
查询开始 | 2021-12-06 15:13:23.512581-08 |
state_change | 2021-12-06 15:13:23.512581-08 |
等待事件类型 | 超时 |
等待事件 | 真空延迟 |
状态 | 积极的 |
backend_xmin | 3140627534 |
询问 | autovacuum: VACUUM xyz (防止环绕) |
后端类型 | 自动吸尘器 |