我使用 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 (防止环绕) |
| 后端类型 | 自动吸尘器 |