问题标签 [npgsql]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 我可以在读取过程中中断数据读取器吗?
可以停止正在运行的阅读器吗?
场景:我有一个包含 100000 个数据集的表
和一个用于读取数据的控制台应用程序(.NET 4.0、Npgsql 2.0.11.0/2.0.11.92)
我观察到数据阅读器无法真正停止。似乎数据读取器首先读取所有行,然后正常返回。
这个例子是一个更大的应用程序的摘要,其中用户将通过按下按钮来停止数据读取器,因为读取时间太长。
c# - 关闭后连接仍然空闲
我有一个 C# 客户端应用程序,需要每 15 分钟检查一次 Postgres db 上的表。问题是我需要将此客户端安装到或多或少 200 个客户端中,因此我需要在查询后关闭数据库连接。
我使用 .Close() 方法,但是,如果我检查 Postgres DB 上的 pg_stat_activity 表,我可以看到连接仍以 IDLE 状态打开。我该如何解决这个问题?是否可以肯定地关闭连接?
谢谢,安德里亚
sql - PostgreSQL - 返回键值对数组的最佳方法
我正在尝试选择一些字段,其中一个需要是一个数组,数组的每个元素都包含两个值。每个数组项都需要包含一个名称(不同的字符)和一个 ID(数字)。我知道如何返回单个值的数组(使用ARRAY
关键字),但我不确定如何返回本身包含两个值的对象数组。
查询类似于
我读到这样做的一种方法是将值选择为一种类型,然后创建该类型的数组。问题是,函数的其余部分已经返回了一个类型(这意味着我会有嵌套类型 - 可以吗?如果是这样,你将如何在应用程序代码中读回这些数据 - 即使用像 NPGSQL 这样的 .Net 数据提供程序?)
任何帮助深表感谢。
npgsql - 在 npgsql 中设置超时毫秒
npgsql 的默认连接超时值以秒为单位,但我想以毫秒为单位设置,因为我需要它小于 1 秒。
ps 我尝试设置小数(例如 0.5),但它不起作用
entity-framework - 使用 Postgresql 和 Npgsql 的实体框架
我在实体框架中完全是 n00b。已经安装了 Postgresql 和 Npgsql。只是想从一个简单的 DB 测试开始,但我已经遇到了表的 ID 列的问题。
我首先在 postgres(下面的 sql)中手动创建一个简单的表 Score 及其 PK 约束。我使用参数 /retrofitmodel 运行 edmgen2.exe。在列表中,我只检查包含分数表和 edmgen2.exe 然后输出 4 个文件。我将文件复制到 VS2010 项目目录,并将 edmx 包含到项目中。当我打开它的图表时,ScoreID 标有一个 Key 符号。我编写代码来插入一个简单的对象。它第一次执行时有效,但下次我得到:
{“错误:23505:重复键值违反唯一约束\“Score_PK\”“}
我查看数据库,其中一项的 ScoreID 为 0。对我来说,EF 似乎出于某种原因试图创建另一个 ID 为 0 的对象,而不是增加 ID 值。它让我发疯,因为这只是在我开始使用真正的数据库模型之前的一个愚蠢的简单测试。
我努力了:
在图中将 StoreGeneratedPattern 属性从 None 更改为 Identity,也更改为 Computed。
将这些值也注入到 ScoreID 属性的 ssdl 文件中
我在下面附上了一些涉及的代码。请帮帮我!!
表创建:
保存方法:
SSDL 文件(已删除 <>):
部分 EDMX 文件(已删除 <>):
c# - 无法将 postgresql 间隔转换为 C# TimeSpan
我无法将 postgresql 间隔转换为TimeSpan
:
正在投掷:
“指定的演员表无效”
但dr["Hours"]
返回值"06:00:00"
:/
我究竟做错了什么?我尝试了几个版本的 npgsql,但没有任何改变。
dr["Hours"] 是 NpgsqlTypes.NpgsqlInterval
编辑:
我可以使它工作的唯一方法是使用:
c# - Npgsql:它可以识别 ODBC 空格序列吗?
我有这个 SQL 查询(在 T-SQL 中):
然后,我有一个可以打开的自动正则表达式转换,以使顶级语法与 PostgreSQL 兼容,它从输入语句生成以下输出语句:
我认为这应该足以让大多数事情在 PostgreSQL 上运行,但现在我意识到 Npgsql 无法识别 ODBC 转义序列({fn 不管()})。
我可以打开 Npgsql 连接字符串设置或 Postgres 本身中的任何选项吗?
还是我运气不好,必须写一个 ODBC 转义函数替换函数?
connection - Npgsql:从池中获取连接时超时
背景:我正在将我的应用程序从 mssql 移动到 npgsql v2.0.11.92。在运行我的应用程序几分钟或几小时后,我得到一个System.Exception: Timeout while getting a connection from the pool。
我在 x64 平台上的 x86 环境中使用 lib 版本 2.0.11.92。所有连接都已关闭并最迟在 finally 块中处理,但过了一会儿,我收到错误消息。所以,应该是Npgsql库的问题。
在我的应用程序中,每隔几秒钟就会在后台发生大量查询,但大多数时候,它们只是按顺序运行,而不是并行运行。
我使用的连接字符串是:SERVER=mydbserver;MINPOOLSIZE=3;MaxPoolSize=15;ConnectionLifeTime=7;DATABASE=Test DB;UID=user;PWD=pass
我正在尝试诊断 npgsql 中泄漏的 postgres 连接。
仅供参考:Npgsql 库已经存在泄漏问题,该问题已在最新版本 2.0.11.92 中得到修复。但我认为仍然存在一些问题。
当前库版本(npgsql v2.0.11.92)是否有人遇到过类似问题?
logging - 如何将 npgsql 日志输出重定向到 log4net 记录器?
是否可以将 npgsql 日志输出重定向到 log4net 记录器?从 npgsql 源代码来看,它看起来像是直接记录到 stdout/stderr 或指定文件(使用 上的静态属性NpgsqlEventLog
)。有没有办法将该登录路由到 log4net?
c# - 当 Npgsql 连接池达到 Max 时会发生什么
连接字符串参数的名称和这篇博文 - http://fxjr.blogspot.co.uk/2010/04/npgsql-connection-pool-explained.html - 让我相信 Npgsql 不会超过 MaxPoolSize 值在连接字符串中设置。但是文档(http://npgsql.projects.postgresql.org/docs/manual/UserManual.html)说“连接池的最大大小。如果池包含的连接池超过此池,则池化连接将在返回池时被处理连接数。默认值:20"
这表明池实际上可以增长到大于 MaxPoolSize 并且实际上只是 Npgsql 在返回连接后开始积极地从池中删除连接的级别。
我一直在寻找答案,但我可以确切地知道当你达到 MaxPoolSize 时会发生什么。还有人知道吗?
编辑:我应该补充一点,我们正在使用 Npgsql 2.0.6.0,因为仅支持该版本的另一个依赖项。