Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Postgres忽略搜索路径参数_C#_Postgresql_Npgsql_Pgbouncer - Fatal编程技术网

C# Postgres忽略搜索路径参数

C# Postgres忽略搜索路径参数,c#,postgresql,npgsql,pgbouncer,C#,Postgresql,Npgsql,Pgbouncer,我有一个C#应用程序,通过pg#U bouncer,使用Npgsql连接到postgres数据库。在我的连接字符串中,我包括SearchPath。Npgsql会选择该选项,并在启动数据包中设置search\u path参数 Pg_bouncer似乎不喜欢search_path参数,这会导致初始连接失败(不支持的启动参数:search_path)。为了解决这个问题,我们在pg_bouncer的ignore_startup_参数列表中列出了它 连接现在可以很好地连接到数据库,但完全忽略连接字符串中声

我有一个C#应用程序,通过pg#U bouncer,使用Npgsql连接到postgres数据库。在我的连接字符串中,我包括
SearchPath
。Npgsql会选择该选项,并在启动数据包中设置
search\u path
参数

Pg_bouncer似乎不喜欢
search_path
参数,这会导致初始连接失败(
不支持的启动参数:search_path
)。为了解决这个问题,我们在pg_bouncer的ignore_startup_参数列表中列出了它

连接现在可以很好地连接到数据库,但完全忽略连接字符串中声明的任何SearchPath。现在,每个查询都会从公共模式中进行选择,而不是找到正确的模式


如何让Postgres再次尊重搜索路径?

您可以为您正在连接的角色设置默认的
搜索路径(永久):

ALTER ROLE foo SET search_path=blarg,public;
或整个数据库,具体取决于您的具体要求。您甚至可以在会话/事务的顶部发出一个普通的
SET
语句。在Postgres中设置
搜索路径有多种方法。详细说明:


是的,你的第一个建议是我可以信赖的。我只是希望找到一个快速解决当前问题的方法,以避免任何额外的工作。更改用户的默认搜索路径或发出set语句将涉及到对当前系统的重新设计。