The problem is that Postgrex is not able to parse all of the information from the connection URL - notable the SSL configuration. The solution is to specify the connection parameters explicitly, including the `cacertfile` SSL option. Assuming that you have downloaded your cluster's CA certificate to `priv/certs/ca-cert.crt`, you can use the following config as a template: ``` config :my_app, MyApp.Repo, username: "my_user", password - [your password], database: "defaultdb", hostname: "free-tier.gcp-us-central1.cockroachlabs.cloud", port: "26257", ssl: true, ssl_opts: [ cacertfile: Path.expand("priv/certs/ca-cert.crt"), ], parameters: [options: "--cluster=my-cluster-123"] ``` Possible Other Issues Table Locking Since that CockroachDB also does not support the locking that Ecto/Postgrex attempts on the migration table, the `:migration_lock` config needs to be disabled as well: ``` config :my_app, MyApp.Repo, # ...

Context: Stack Overflow #69747033 (accepted answer, 7 votes): I'd like to use CockroachDB Serverless for my Ecto application. How do I specify the connection string? I get an error like this when trying to connect. ``` [error] GenServer #PID terminating ** (Postgrex.Error) FATAL 08004 (sqlserver_rejected_establishment_of_sqlconnection) codeParamsRoutingFailed: missing cluster name in connection string (db_connection 2.4.1) lib/db_connection/connection.ex:100: DBConnection.Connection.connect/2 ``` CockroachDB Serverless says to connect by including the cluster name in the connection string, like this: ```...