[SOLVED] DB migration from 25.12.0.117093 to 26.1.0.118079 fails

I’m currently running SonarQube server community edition

  • Version 25.12.0.117093
  • Deployed using a self made Docker image (based on alpine + the official zip)
  • Using a postgres database (server is running postgres 17)

When trying to upgrade to 26.1.0.118079, I first start the new container, then go to /setup to proceed with database upgrade as I do for every upgrade. But then it fails

 2026.01.07 14:04:12 INFO  web[][o.s.s.p.d.m.DatabaseMigrationImpl] Starting DB Migration and container restart 
 2026.01.07 14:04:12 INFO  web[][DbMigrations] Executing 3 DB migrations... 
 2026.01.07 14:04:12 INFO  web[][DbMigrations] 1/3 #202506027 'Add 'part_number' column to 'ce_task_input''... 
 2026.01.07 14:04:12 ERROR web[][DbMigrations] 1/3 #202506027 'Add 'part_number' column to 'ce_task_input'': failure | time=30ms 
 2026.01.07 14:04:12 ERROR web[][DbMigrations] Executed 0/3 DB migrations: failure | time=34ms 
 2026.01.07 14:04:12 ERROR web[][o.s.s.p.d.m.DatabaseMigrationImpl] DB migration failed | time=80ms 
 2026.01.07 14:04:12 ERROR web[][o.s.s.p.d.m.DatabaseMigrationImpl] DB migration ended with an exception 
 org.sonar.server.platform.db.migration.step.MigrationStepExecutionException: Execution of migration step #202506027 'Add 'part_number' column to 'ce_task_input'' failed 
 	at org.sonar.server.platform.db.migration.step.MigrationStepsExecutorImpl.execute(MigrationStepsExecutorImpl.java:105) 
 	at org.sonar.server.platform.db.migration.step.MigrationStepsExecutorImpl.execute(MigrationStepsExecutorImpl.java:89) 
 	at org.sonar.server.platform.db.migration.step.MigrationStepsExecutorImpl.execute(MigrationStepsExecutorImpl.java:66) 
 	at org.sonar.server.platform.db.migration.engine.MigrationEngineImpl.execute(MigrationEngineImpl.java:55) 
 	at org.sonar.server.platform.db.migration.DatabaseMigrationImpl.doUpgradeDb(DatabaseMigrationImpl.java:106) 
 	at org.sonar.server.platform.db.migration.DatabaseMigrationImpl.doDatabaseMigration(DatabaseMigrationImpl.java:81) 
 	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) 
 	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) 
 	at java.base/java.lang.Thread.run(Thread.java:1583) 
 Caused by: java.lang.IllegalStateException: Fail to execute ALTER TABLE ce_task_input DROP CONSTRAINT ce_task_input_task_uuid_not_null 
 	at org.sonar.server.platform.db.migration.step.DdlChange$ContextImpl.execute(DdlChange.java:106) 
 	at org.sonar.server.platform.db.migration.step.DdlChange$ContextImpl.execute(DdlChange.java:86) 
 	at org.sonar.server.platform.db.migration.step.DdlChange$ContextImpl.execute(DdlChange.java:128) 
 	at org.sonar.server.platform.db.migration.version.v202506.AddPartNumberColumnToCeTaskInputTable.execute(AddPartNumberColumnToCeTaskInputTable.java:57) 
 	at org.sonar.server.platform.db.migration.step.DdlChange.execute(DdlChange.java:45) 
 	at org.sonar.server.platform.db.migration.step.MigrationStepsExecutorImpl.execute(MigrationStepsExecutorImpl.java:101) 
 	... 8 common frames omitted 
 Caused by: org.postgresql.util.PSQLException: ERROR: column "task_uuid" is in a primary key 
 	at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2736) 
 	at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2421) 
 	at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:372) 
 	at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:525) 
 	at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:435) 
 	at org.postgresql.jdbc.PgStatement.executeWithFlags(PgStatement.java:357) 
 	at org.postgresql.jdbc.PgStatement.executeCachedSql(PgStatement.java:342) 
 	at org.postgresql.jdbc.PgStatement.executeWithFlags(PgStatement.java:318) 
 	at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:313) 
 	at com.zaxxer.hikari.pool.ProxyStatement.execute(ProxyStatement.java:95) 
 	at com.zaxxer.hikari.pool.HikariProxyStatement.execute(HikariProxyStatement.java) 
 	at org.sonar.server.platform.db.migration.step.DdlChange$ContextImpl.execute(DdlChange.java:91) 
 	... 13 common frames omitted 

Is this a known issue ? I tried with a fresh install of version 25.12.0.117093 and the DB had no customization

Hi,

Welcome to the community and thanks for this report!

Are you sure you’re seeing this with Postgres 17? We’ve spotted this internally with Postgres 18, which isn’t actually supported yet.

 
Ann

Arf, my bad. On my test env, the postgres server was indeed recently upgraded to 18. I could ran the upgrade on my prod system, running postgres 17 with no issue

2 Likes

Hi,

Thanks for your quick confirmation. We had a bad few minutes before that came in.

 
:sweat_smile:
Ann

When will Postgres 18 be supported? Release date was 25 sept 2025.
Need help? Contact me.

Hi, @VickyRonnen,

Thanks for the offer of help. This is already planned for the next releases.

 
HTH,
Ann