Metabase Initialization FAILED, Cannot rollback when autoCommit is enabled

Currently trying to setup a metabase docker image on Ubuntu 20 with cockroachdb as the db. Running
docker run -p 3000:3000 --env-file .env metabase/metabase with all the necessary db env vars set.
I get the following:

2022-12-25 06:44:43,183 INFO db.setup :: Verifying postgres Database Connection ...
2022-12-25 06:44:45,473 INFO db.setup :: Successfully verified PostgreSQL 13.0.0 application database connection. ✅
2022-12-25 06:44:45,482 INFO db.setup :: Running Database Migrations...
2022-12-25 06:44:45,487 INFO db.setup :: Setting up Liquibase...
2022-12-25 06:44:46,348 INFO db.setup :: Liquibase is ready.
2022-12-25 06:44:46,350 INFO db.liquibase :: Checking if Database has unrun migrations...
2022-12-25 06:44:49,357 ERROR metabase.core :: Metabase Initialization FAILED
org.postgresql.util.PSQLException: Cannot rollback when autoCommit is enabled.
	at org.postgresql.jdbc.PgConnection.rollback(
	at com.mchange.v2.c3p0.impl.NewProxyConnection.rollback(
	at metabase.db.setup$fn__36315$migrate_BANG___36320$fn__36321$fn__36322.invoke(setup.clj:84)
	at metabase.db.liquibase$fn__33036$do_with_liquibase__33041$fn__33042.invoke(liquibase.clj:60)
	at metabase.db.liquibase$fn__33036$do_with_liquibase__33041.invoke(liquibase.clj:52)
	at metabase.db.setup$fn__36315$migrate_BANG___36320$fn__36321.invoke(setup.clj:62)
	at metabase.db.setup$fn__36315$migrate_BANG___36320.doInvoke(setup.clj:40)
	at clojure.lang.RestFn.invoke(
	at metabase.db.setup$fn__36374$run_schema_migrations_BANG___36379$fn__36380.invoke(setup.clj:120)
	at metabase.db.setup$fn__36374$run_schema_migrations_BANG___36379.invoke(setup.clj:114)
	at metabase.db.setup$fn__36426$setup_db_BANG___36431$fn__36432$fn__36435$fn__36436.invoke(setup.clj:146)
	at metabase.util$do_with_us_locale.invokeStatic(util.clj:707)
	at metabase.util$do_with_us_locale.invoke(util.clj:693)
	at metabase.db.setup$fn__36426$setup_db_BANG___36431$fn__36432$fn__36435.invoke(setup.clj:144)
	at metabase.db.setup$fn__36426$setup_db_BANG___36431$fn__36432.invoke(setup.clj:143)
	at metabase.db.setup$fn__36426$setup_db_BANG___36431.invoke(setup.clj:137)

I do recognize that cockroachdb isn't necessarily supported, but I have heard of people making it work in other discussions. The db user has all privileges on the database, and I haven't found any related discussions on this issue so I'm absolutely clueless here on what's breaking.

Any thoughts would be appreciated!

Hi @alex3999
Metabase supports H2, Postgres or MariaDB/MySQL as the application database, nothing else:
I'm not sure which other discussions you are referring to, please link. There's a big difference between data sources that you add in Admin > Databases, and the application database where Metabase stores its information.


Yes - maybe.

CockroachDB is a Cloud-ready replacement for PG and it's getting more and more (very) popular.
So maybe it's worthwile to invest in having it as a possible application database.

CRDB is a good choice when you want to have a distributed relational database, do you want to deploy a distributed Metabase? If not, you should use a normal Postgres. You shouldn’t be choosing the wrong tools for the job

Of course - we are talking about a high volume SaaS application with potentially 1000s of users...