Camunda postgresql configuration error

Hi
I use spring boot and set camunda configuration as given below, When I set configuration as config.setDatabaseSchemaUpdate(“true”);
org.camunda.bpm.engine.ProcessEngineException: ENGINE-03017 Could not perform operation 'create' on database schema for SQL Statement:
error occured. When set this setting as drop-create, I didnot encounter any problem but our database dropped and also our data dropped. What should I do?

   public SpringProcessEngineConfiguration processEngineConfiguration() throws IOException {
            	SpringProcessEngineConfiguration config = new SpringProcessEngineConfiguration();

		config.setDataSource(dataSource);
		config.setDatabaseSchemaUpdate("true");

		config.setTransactionManager(transactionManager());

		config.setHistory(historyLevel);

		config.setJobExecutorActivate(true);
		config.setMetricsEnabled(false);

		// deploy all processes from folder 'processes'
		Resource[] resources = resourceLoader.getResources("classpath:/bpmn/*.bpmn");
		config.setDeploymentResources(resources);

		return config;
	}

@mtrwhitefang, For spring java config, refer the below:

SpringProcessEngineConfiguration
@Configuration
public class ExampleProcessEngineConfiguration {

  @Bean
  public DataSource dataSource() {
    SimpleDriverDataSource dataSource = new SimpleDriverDataSource();
    dataSource.setDriverClass(org.h2.Driver.class);
    dataSource.setUrl("jdbc:h2:mem:camunda;DB_CLOSE_DELAY=-1");
    dataSource.setUsername("sa");
    dataSource.setPassword("");
    return dataSource;
  }

  @Bean
  public PlatformTransactionManager transactionManager() {
    return new DataSourceTransactionManager(dataSource());
  }

  @Bean
  public SpringProcessEngineConfiguration processEngineConfiguration() {
    SpringProcessEngineConfiguration config = new SpringProcessEngineConfiguration();
    config.setDataSource(dataSource());
    config.setTransactionManager(transactionManager());
    config.setDatabaseSchemaUpdate("true");
    config.setHistory("audit");
    config.setJobExecutorActivate(true);

    return config;
  }

  @Bean
  public ProcessEngineFactoryBean processEngine() {
    ProcessEngineFactoryBean factoryBean = new ProcessEngineFactoryBean();
    factoryBean.setProcessEngineConfiguration(processEngineConfiguration());
    return factoryBean;
  }

  @Bean
  public RepositoryService repositoryService(ProcessEngine processEngine) {
    return processEngine.getRepositoryService();
  }

  @Bean
  public RuntimeService runtimeService(ProcessEngine processEngine) {
    return processEngine.getRuntimeService();
  }

  @Bean
  public TaskService taskService(ProcessEngine processEngine) {
    return processEngine.getTaskService();
  }

  // more engine services and additional beans ...

}

SimpleDriverDataSource can be used only for testing purpose, for production use either Apache BasicDatasource(DBCP) or HikariDatasource

@aravindhrs thanks for reply.
I use postgresql for in prod mode and I set datasource properties via .yml file as given below. I use this configuration my other project but I met this problem at first time
spring:
datasource:
initialization-mode: always
platform: postgres
url: jdbc:postgresql://localhost:5432/camunda
username: postgres
password: ***

@mtrwhitefang you have to follow one approach, either Java configuration or yaml configuration. There’s a chances for properties are being overridden by the both approaches.

@aravindhrs
thanks for reply.
I use example at camunda github repo. but schema-update(“true”) option give this error. Also how can I set this properties from .yml file.

camunda.bpm:
  database:
    schema-update: true
  admin-user:
    id: admin
    password: admin
    firstName: Kermit
  filter:
    create: All tasks
  job-execution-enabled:  true
  history-level: full
  auto-deployment-enabled: true
  id-generator: strong
  checkProcessDefinitions: true
  deployment-resource-pattern:  classpath:/bpmn/*.bpmn
  dataSource:
    schema-update: true
    username: camunda
    password: camunda