Npgsql:不支持时间戳的旧浮点表示形式

问题描述 投票:2回答:3

我编写了一个基本脚本,该脚本将PostgreSQL数据库中的数据同步到另一个系统,该系统可以使用以下命令在我的测试/开发环境中正常运行:

  • PostgreSQL 9.4
  • Npgsql dll版本3.0.3

一旦在实时生产环境中运行了脚本,就会遇到以下错误:

“不支持时间戳的旧浮点表示形式”

研究此问题后,我发现这与“ PostgreSQL的不建议使用的编译时选项有关,该选项已切换为某些日期/时间字段的浮点表示。Npgsql(当前)不支持此模式。”

Here is a link to the relevant source code

在生产中,PostgreSQL服务器正在运行8.3版,并且由于内部原因,服务器管理器此时拒绝升级PostgreSQL服务器。 (当前的Npgsql版本在版本9之前尚未正式支持PosgreSQL。doh!)

问题:

  • 是否有任何方法可以修改PostgreSQL 8.3“ integer_datetimes”无需完全重新安装应用程序的配置设置,或者升级?
  • 或者,有什么方法可以将我的Npgsql dll降级到支持此配置设置的旧版本?
  • 是否有必要建议使用Npgsql替代方案?我正在考虑将代码重构为使用ADO.NET(但不确定是否建议这样做)。
c# postgresql floating-point npgsql
3个回答
0
投票
但是,强烈建议不要以任何方式继续使用PostgreSQL 8.3-8.3于2013年2月寿终正寝。您肯定应该尝试通过转储数据并将其还原到新环境中来迁移到9.4。 ,可能效果很好。

还请注意,尽管新版本(例如3.0.4)通常可以在9.0之前的PostgreSQL上运行-只是它们未经任何方式的测试,我们可能不会修复您可能会运行的任何不重要的错误跨]。


0
投票

0
投票
Npgsql,ASP.NET Core 2.2:System.NotSupportedException:不建议使用Npgsql不支持浮点日期/时间格式。
© www.soinside.com 2019 - 2024. All rights reserved.