0

尝试将 Postgres 13.2 数据库升级到 14 时,我在运行升级时收到错误“共享内存不足”。

我已经调整 max_locks_per_transaction到不同且非常高的值max_connections以及其他内存设置。我检查了许多配置设置,但没有找到无法使用这些设置执行 pg_dump/pg_upgrade 的原因。

操作系统是

Amazon Linux release 2 (Karoo). ID_LIKE="centos rhel fedora"

错误如下

command: "/usr/pgsql-14/bin/pg_dump" --host /usr/pgsql-14/bin --port 50432 --username postgres --schema-only --quote-all-identifiers --binary-upgrade --format=custom  --file="pg_upgrade_dump_18458.custom" 'dbname=aprivatedb' >> "pg_upgrade_dump_18458.log" 2>&1
pg_dump: error: query failed: ERROR:  out of shared memory
HINT:  You might need to increase max_locks_per_transaction.
pg_dump: error: query was: LOCK TABLE "privatedata"."private_activities" IN ACCESS SHARE mode
4

1 回答 1

2

您在哪里进行了这些更改?根据错误消息,需要max_locks_per_transaction提出的是 13 集群,而不是 14 集群。

pg_dump 针对旧集群运行(使用新的二进制文件),而不是新的。

于 2021-10-14T02:40:20.983 回答