【发布时间】:2022-01-12 18:09:51
【问题描述】:
我使用 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 |
| datid | 16402 |
| datname | xyz |
| relid | 22423 |
| phase | vacuuming indexes |
| 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 核)。 谢谢!
edit 1: pg_stat_activity 的相同pid的输出,
| c1 | c2 |
|---|---|
| pid | 9520 |
| backend_start | 2021-12-06 15:13:23.479071-08 |
| xact_start | 2021-12-06 15:13:23.512581-08 |
| query_start | 2021-12-06 15:13:23.512581-08 |
| state_change | 2021-12-06 15:13:23.512581-08 |
| wait_event_type | Timeout |
| wait_event | VacuumDelay |
| state | active |
| backend_xmin | 3140627534 |
| query | autovacuum: VACUUM xyz (to prevent wraparound) |
| backend_type | autovacuum worker |
【问题讨论】:
标签: postgresql logical-replication pg-upgrade