H.5. slru_upgrader#

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:

  1. Остановите сервер базы данных, работающий под управлением Tantor SE 15.

  2. Установите переменную окружения PGDATA так, чтобы она указывала на каталог данных, который будет использоваться Tantor SE 16:

    export PGDATA='/var/lib/postgresql/tantor-se-16/data'
    
  3. Запустите скрипт обновления:

    /opt/tantor/db/16/tools/slru_upgrader/upgrade-SLRU-from-TT_15-to-TT_16-version.sh
    
  4. Запустите сервер Tantor SE 16 и убедитесь, что он работает правильно.

  5. После проверки конфигурации удалите резервную копию:

    rm "$PGDATA/postgresql.conf.bak"
    

H.5.5. Примечания #

  • Скрипт немедленно завершает работу, если любая команда завершается с ошибкой (set -e).

  • Если параметр отсутствует в postgresql.conf, он автоматически пропускается.

  • Пробелы в начале строки перед именами параметров обрабатываются правильно; однако строки, закомментированные (с префиксом #), не изменяются.

  • Скрипт не проверяет значения параметров — переименовываются только имена параметров.

H.5.6. Статус выхода #

0 — файл конфигурации был успешно обновлён (или подходящие параметры не были найдены).

1 — произошла ошибка. Возможные причины:

  • Не установлено значение PGDATA.

  • postgresql.conf не существует в указанном каталоге данных.

  • Был указан неизвестный параметр командной строки.