Postgres pg_upgrade с 13.2 по 14, возвращается из общей памяти. — Amazon Linux выпуск 2 (Karoo)

#postgresql #memory #amazon-linux #pg-upgrade

Вопрос:

При попытке обновить базу данных 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>amp;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
 

Ответ №1:

Где вы внесли эти изменения? Основываясь на сообщениях об ошибках, необходимо поднять кластер 13, а не кластер 14 max_locks_per_transaction .

pg_dump запускается для старого кластера (с использованием нового двоичного файла), а не для нового.

Комментарии:

1. Именно в этом и заключалась проблема. Спасибо! Клиент обновил предыдущий файл 13 conf, и обновление прошло без проблем. ( они прокомментировали max_locks_per_transaction и max_connections=100 )