Problem / Bug in DB Creation?

I have an issue when using Camunda and auto schema update with two users but different default schemas on the same postgresql database.
Pretty much the same as described here:

I think the reason is, that DbSqlSession::isTablePresent is not strict enough and will find the tables of user1.

1st application starts with user1 and creates camunda tables in schema1
2nd application starts with user2, DbSqlSession::isTablePresent finds table of user1 in schema1 even though the default schema for user2 is schema2. Then later a call to schema2.act_ge_property fails.

The linked solution in the stack overflow topic uses two separate postgres - instances which is not an option for us.

=> is there an easy solution / workaround for this, or is this a bug in Camunda?

I updated https://github.com/rob2universe/two-camunda-instances and documented it better.

The issue you observed can be avoided by setting the target schema explicitly.

camunda.bpm.database.schema-name
camunda.bpm.database.table-prefix

(documentation)

When it is not set Camunda relies on the default schema returned for the user in the database meta information.

1 Like