Sonarqube 25.12 -> 26.1 upgrade psql exception

Tried to upgrade sonarqube:25.12.0.117093-community => sonarqube:26.1.0.118079-community

During manual database upgrade via /setup faced with postgresql issue

Fail to execute ALTER TABLE ce_task_input DROP CONSTRAINT ce_task_input_task_uuid_not_null

…

Caused by: org.postgresql.util.PSQLException: ERROR: column “task_uuid” is in a primary key

Full log of upgrade process:

sonarqube-1  | 2026.03.19 11:13:03 INFO  web[][o.s.s.p.Platform] Database needs to be migrated. Please refer to https://docs.sonarsource.com/sonarqube-community-build/server-upgrade-and-maintenance/upgrade/roadmap/
sonarqube-1  | 2026.03.19 11:13:03 INFO  web[][o.s.s.p.w.MasterServletFilter] Initializing servlet filter org.sonar.server.platform.web.WebServiceFilter@d49e8c6 [pattern=UrlPattern{inclusions=[/api/system/migrate_db.*, ...], exclusions=[/api/components/update_key, ...]}]
sonarqube-1  | 2026.03.19 11:13:03 INFO  web[][o.s.s.p.w.MasterServletFilter] Initializing servlet filter org.sonar.server.platform.web.NoCacheFilter@6f986501 [pattern=UrlPattern{inclusions=[/api/v2/*], exclusions=[]}]

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

Any chance to solve the issue ?

rollback postgres:18.3 to posgres:17.5 helped

1 Like

Hi,

Welcome to the community and thanks for this report!

I’m glad you worked past this. But our docs say we support Postgres 18, so I’ve flagged this for the team.

 
Thx,
Ann