我有一个C#应用程序,通过pg_bouncer连接到postgres数据库,使用Npgsql。在我的连接字符串中,我包括SearchPath
。Npgsql获取这一点,并在启动包中设置search_path
参数。
Pg_bouncer似乎不喜欢这个search_path
参数,这会导致初始连接失败(Unsupported startup parameter: search_path
)。为了解决这一问题,我们将其列在pg_bouncer的pg_bouncer列表中。
连接现在可以连接到数据库,但完全忽略连接字符串中声明的任何SearchPath。现在,每个查询都不是按正确的模式,而是从公共模式中选择。
我怎样才能让Postgres再次尊重SearchPath?
发布于 2015-03-11 18:56:29
您可以为要连接的角色设置默认的search_path
(永久):
ALTER ROLE foo SET search_path=blarg,public;
或者整个DB,取决于您的确切需求。您甚至可以在会话/事务的顶部发出一个普通的SET
语句。在Postgres中设置search_path
有多种方法。详细说明:
https://stackoverflow.com/questions/28994694
复制相似问题