Ошибка запуска сервера после обновления до 3.61

Версия ЛЭРС УЧЁТ: 3.61 docker
Сервер БД: PostgreSQL

Спойлер

I: Инициализация базы данных…
E: Failed executing DbCommand (35ms) [Parameters=, CommandType=‘Text’, CommandTimeout=‘86400’]
– Для пользовательских отчетных форм содержащих секции задается маска для 10 секций
UPDATE “ReportTemplate”
SET “SectionsMask” = 1023
WHERE (“IsUser” = ‘TRUE’) AND (“ReportType” = 1) AND (“ReportEntity” = 2) AND STRPOS(“Text”, ‘Section’) > 0;
Не удалось выполнить команду. Npgsql.PostgresException (0x80004005): 0A000: nondeterministic collations are not suppo rted for substring searches
at Npgsql.Internal.NpgsqlConnector.ReadMessageLong(Boolean async, DataRowLoadingMode dataRowLoadingMode, Boolean r eadingNotifications, Boolean isReadingPrependedMessage)
at System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder1.StateMachineBox1.System.Threading.Tasks.S ources.IValueTaskSource.GetResult(Int16 token)
at Npgsql.NpgsqlDataReader.NextResult(Boolean async, Boolean isConsuming, CancellationToken cancellationToken)
at Npgsql.NpgsqlDataReader.NextResult(Boolean async, Boolean isConsuming, CancellationToken cancellationToken)
at Npgsql.NpgsqlDataReader.NextResult()
at Npgsql.NpgsqlCommand.ExecuteReader(Boolean async, CommandBehavior behavior, CancellationToken cancellationToken )
at Npgsql.NpgsqlCommand.ExecuteReader(Boolean async, CommandBehavior behavior, CancellationToken cancellationToken )
at Npgsql.NpgsqlCommand.ExecuteNonQuery(Boolean async, CancellationToken cancellationToken)
at Npgsql.NpgsqlCommand.ExecuteNonQuery()
at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteNonQuery(RelationalCommandParameterObject parame terObject)
at Microsoft.EntityFrameworkCore.Migrations.MigrationCommand.ExecuteNonQuery(IRelationalConnection connection, IRe adOnlyDictionary2 parameterValues) at Microsoft.EntityFrameworkCore.Migrations.Internal.MigrationCommandExecutor.ExecuteNonQuery(IEnumerable1 migrat ionCommands, IRelationalConnection connection)
at Microsoft.EntityFrameworkCore.Migrations.Internal.Migrator.Migrate(String targetMigration)
at Npgsql.EntityFrameworkCore.PostgreSQL.Migrations.Internal.NpgsqlMigrator.Migrate(String targetMigration)
at Lers.Server.CLI.DbUpdateHandler.HandleAsync(String args)
at Lers.Server.CLI.CommandLineHandler.HandleAsync(String verb, String args, IServiceProvider services)
Exception data:
Severity: ERROR
SqlState: 0A000
MessageText: nondeterministic collations are not supported for substring searches
File: varlena.c
Line: 1225
Routine: text_position_setup

Добрый день.

Странно, наши тесты на postgres эту инструкцию отработали без проблем.

Пока вы можете откатиться на предыдущую версию. БД осталась старой, так что достаточно в docker-compose.yml зафиксировать версию 3.60.4

Поменяйте в сервисе lers поле image на lersamr/full:3.60.4 и запустите сервер.

Завёлся. Ждём хотфикса.

P.S. PostgreSQL 16.6

Похоже, что проблема именно в версии Postgres. Более новые версии проводят более строгие проверки коллаций. В 3.61.1 поправим инструкцию.

Обновили бд до PostgreSQL 17.4, ошибка та же.

День добрый,
Попробовали поставить на чистый Postgresql 17.4

  • При первичном запуске выдает:
    out.txt.7z (239,6 КБ)
  • При последующих:

I: Инициализация базы данных…
Не удалось выполнить команду. Lers.UpdateService.Core.UpdateException: Информация о версии базы данных повреждена.
at Lers.UpdateService.Core.DataBaseClient.GetVersion()
at Lers.Server.CLI.DbUpdateHandler.ApplySquashScripts(DataBaseClient client)
at Lers.Server.CLI.DbUpdateHandler.HandleAsync(String args)
at Lers.Server.CLI.CommandLineHandler.HandleAsync(String verb, String args, IServiceProvider services)

Да, это возможно. Нужно дождаться 3.61. Пока, как я уже описал, зафиксируйте версию 3.60.4 в docker-compose.yml.

1 лайк

Когда её ждать? Очень уж нужна 3.61

Ее и не нужно ждать. Данная версия уже выпущена.