当我尝试通过 jdbc 连接到 postgres 上的数据库时,出现以下错误: org.postgresql.util.PSQLException:错误:不支持的启动参数:search_path
这就是我创建连接的方式:
val connection = DriverManager.getConnection(profile.connection + Option(profile.catalog).getOrElse("")+ "?currentSchema="+Option(profile.schema).getOrElse(""),
profile.user, profile.password)
我使用 scala 和 postgres 的自定义版本。
简而言之,pgbouncer(至少我的版本)不适用于
search_path
参数。 这个讨论让我想到了以下两种可能的解决方案:
IGNORE_STARTUP_PARAMETERS: search_path
currentSchema
参数的情况下建立连接,并像这样创建连接:
val connection =
DriverManager.getConnection(
profile.connection + Option(profile.catalog).getOrElse(""),
profile.user, profile.password)
然后,PostgreSQL将根据规则集选择方案,在search_path中。它通常类似于"$user", public
。在这种情况下,连接时,它首先尝试选择与用户名相同的方案,如果没有找到这样的方案,则选择 public。