Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Миграция postgresql vers 15.14 CentOS 7 7.9 на postgresql vers 15.14 CentOS 9 Stream release 9 (ванильная версия) / 1 сообщений из 1, страница 1 из 1
24.02.2026, 12:35
    #40142823
Serg_B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Миграция postgresql vers 15.14 CentOS 7 7.9 на postgresql vers 15.14 CentOS 9 Stream release 9 (ванильная версия)
используя потоковую репликацию pg_basebackup -h.. -D /.. -Fp -Xs -P -R, созданю стенбай
Перевожу стенбай в режим primary (pg_ctl promote) подключаюсь к экземпляру.
В логах как и положено ошибки:
WARNING: database "postgres" has a collation version mismatch
DETAIL: The database was created using collation version 2.17, but the operating system provides version 2.34
HINT: Rebuild all objects in this database that use the default collation and run ALTER DATABASE ident REFRESH COLLATION VERSION,
or build PostgreSQL with the right library version
Исправляю:
ALTER DATABASE <all DB> REFRESH COLLATION VERSION;
во всех БД (переиндексация индексов с полями типа text):
SELECT DISTINCT 'reindex index ' || indexrelid::regclass::text|| ';' FROM (SELECT indexrelid, indrelid, indcollation coll FROM pg_index,generate_subscripts(indcollation, 1) g(i)) s JOIN pg_collation c ON coll=c.oid WHERE collprovider IN ('d', 'c') AND collname NOT IN ('C', 'POSIX');
pg_ctl restart;
Подключась к экземпляру. В логах ошибок нет.
Делаю запросы:
SELECT datname,datcollate,datcollversion FROM pg_database; datname | datcollate | datcollversion -----------+-------------+---------------- template0 | en_US.UTF-8 | postgres | en_US.UTF-8 | 2.34 template1 | en_US.UTF-8 | 2.34 ............................... SELECT collname, collprovider, collversion FROM pg_collation WHERE collversion IS NOT NULL;[fixed]SELECT collname, collprovider, collversion FROM pg_collation WHERE collversion IS NOT NULL;
collname | collprovider | collversion ------------------------+--------------+------------- aa_DJ | c | 2.17 aa_DJ.iso88591 | c | 2.17 aa_DJ.utf8 | c | 2.17 aa_ER | c | 2.17 aa_ER@saaho | c | 2.17 aa_ER.utf8 | c | 2.17 aa_ER.utf8@saaho | c | 2.17
запрос к БД выдает, что версия поменялась (2.34) а к pg_collation нет (2.17)

Пробовал вручную изменить версию, даже после рестарта экземпляра, версия остается прежней
postgres=#
ALTER COLLATION "aa_DJ" REFRESH VERSION;
NOTICE: changing version from 2.17 to 2.34
ALTER COLLATION

это критично? С этим надо/можно как-то бороться?
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Миграция postgresql vers 15.14 CentOS 7 7.9 на postgresql vers 15.14 CentOS 9 Stream release 9 (ванильная версия) / 1 сообщений из 1, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]