На всякий случай, если кто-то снова споткнется об этом, я попытался запустить его (в качестве альтернативы sqlite), и он работает только частично, и единственный работающий драйвер - это pg8000.
Когда сервер работает с использованием:
nohup java -cp /opt/h2/bin/h2*.jar org.h2.tools.Server -pg -pgAllowOthers -pgPort 5435 -baseDir /opt/h2-data &
Этот код работает в sqlalchemy:
from sqlalchemy import create_engine
engine = create_engine('postgresql+pg8000://sa:sa@localhost:5435/main')
engine.execute("SELECT 1")
Однако этот код вызывает исключение:
из sqlalchemy_utils import create_database
create_database ( '+ pg8000 PostgreSQL: // са: са @ локальный: 5435 / главный')
Исключение:
sqlalchemy.exc.ProgrammingError: (pg8000.core.ProgrammingError) ('ERROR',
'HY000', 'General error: "java.lang.IllegalStateException: output binary
format is undefined" [50000-196]', 'org.h2.jdbc.JdbcSQLException: General
error: "java.lang.IllegalStateException: output binary format is undefined"
[50000-196]') [SQL: 'select version()']