H.5. slru_upgrader#
H.5. slru_upgrader #
H.5.1. Обзор #
Начиная с версии Tantor SE 16, несколько параметров конфигурации, которые управляют выделением буферов для механизма Simple Least Recently Used (SLRU), были переименованы. Если в файле postgresql.conf используются старые имена параметров, сервер не сможет запуститься после обновления до версии 16.
upgrade-SLRU-from-TT_15-to-TT_16-version.sh
автоматизирует миграцию этих параметров, переименовывая их в
файле postgresql.conf, который находится в
каталоге данных, указанном переменной окружения PGDATA.
Были обновлены следующие имена параметров:
| Старое имя (Tantor SE 15) | Новое имя (Tantor SE 16) |
|---|---|
commit_ts_buffers
|
commit_timestamp_buffers
|
serial_buffers
|
serializable_buffers
|
subtrans_buffers
|
subtransaction_buffers
|
xact_buffers
|
transaction_buffers
|
Перед изменением файла конфигурации скрипт создаёт
резервную копию в $PGDATA/postgresql.conf.bak.
Рекомендуется проверить обновлённую конфигурацию и удалить
резервную копию после успешного запуска сервера.
H.5.2. Краткий обзор #
PGDATA='/path/to/data' /opt/tantor/db/16/tools/slru_upgrader/upgrade-SLRU-from-TT_15-to-TT_16-version.sh [option]
H.5.2.1. Опции #
- --help
Показывает информацию об использовании и завершается.
H.5.3. Окружение #
- PGDATA
Указывает путь к каталогу данных Tantor SE, который содержит
postgresql.conf. Эта переменная должна быть установлена до запуска скрипта.
H.5.4. Использование #
Типичное использование при обновлении основной версии с Tantor SE 15 до 16:
Остановите сервер базы данных, работающий под управлением Tantor SE 15.
Установите переменную окружения
PGDATAтак, чтобы она указывала на каталог данных, который будет использоваться Tantor SE 16:export PGDATA='/var/lib/postgresql/tantor-se-16/data'
Запустите скрипт обновления:
/opt/tantor/db/16/tools/slru_upgrader/upgrade-SLRU-from-TT_15-to-TT_16-version.sh
Запустите сервер Tantor SE 16 и убедитесь, что он работает правильно.
После проверки конфигурации удалите резервную копию:
rm "$PGDATA/postgresql.conf.bak"
H.5.5. Примечания #
Скрипт немедленно завершает работу, если любая команда завершается с ошибкой (
set -e).Если параметр отсутствует в
postgresql.conf, он автоматически пропускается.Пробелы в начале строки перед именами параметров обрабатываются правильно; однако строки, закомментированные (с префиксом
#), не изменяются.Скрипт не проверяет значения параметров — переименовываются только имена параметров.
H.5.6. Статус выхода #
0 — файл конфигурации был успешно обновлён (или подходящие параметры не были найдены).
1 — произошла ошибка. Возможные причины:
Не установлено значение
PGDATA.postgresql.confне существует в указанном каталоге данных.Был указан неизвестный параметр командной строки.