The CREATE CATALOG statement does not work if the catalog implementation comes from the user classloader. The problem is that org.apache.flink.table.planner.operations.SqlToOperationConverter#convertCreateCatalog uses the SqlToOperationConverter classloader.
We should use Thread.currentThread().getContextClassloader() for now.
One of the ways to reproduce it is try to create e.g. a postgres catalog with the flink-connector-jdbc passed as an additional jar to sql--client