将C#连接到PgBouncer

时间:2017-06-26 06:48:03

标签: c# postgresql npgsql pgbouncer

我正在使用C#和PostgreSQL。我使用Npgsql连接到PostgreSQL。 Everthing工作正常。现在我想在PgBouncer工具的帮助下使用连接池。数据库信息已设置为PgBouncer。因为现在PgBouncer将负责连接PostgreSQL数据库(如果我错了,请纠正我)。

但问题是,我无法找到在C#中连接PgBouncer的方法。如果有人也这样做,请告诉我。

在PostgreSQL中使用连接池而不是PgBouncer也是好的吗?如果是,那么请告诉我该怎么做。

由于

1 个答案:

答案 0 :(得分:2)

将pgbouncer与Npgsql一起使用只是意味着让Npgsql直接连接到pgbouncer而不是PostgreSQL - 你需要做的就是提供pgbouncer的主机和端口。

请注意,Npgsql附带了一个高效的内置连接池,通常应该首选它 - 确保您有充分的理由使用pgbouncer而不是内部池。默认情况下,Npgsql池是打开的,如果你想使用pgbouncer,你应该通过在连接字符串中传递Pooling=false来禁用Npgsql池。

  

在PostgreSQL中使用连接池而不是PgBouncer也很好吗?

这没有任何意义 - PostgreSQL(您的数据库服务器)本身并不提供任何池。