【问题标题】:Where can I find the list of PGSQL error codes?在哪里可以找到 PGSQL 错误代码列表?
【发布时间】:2019-06-19 21:01:01
【问题描述】:

我在我的应用程序中收到如下消息:

提示:没有函数匹配给定的名称和参数类型。你 可能需要添加显式类型转换。 (代码:52461700,sql状态: 42883,查询:SELECT ...

我知道在哪里可以找到“sql state”字段的枚举,但是 52461700 的“代码”来自哪里?我在 PostgreSQL GitHub 镜像中搜索了十进制和十六进制的代码,但一无所获。是否有枚举、头文件、表格等,我可以在其中找到所有报告的“代码”值的列表?

【问题讨论】:

  • postgresql.org/docs/9.2/errcodes-appendix.html 可能是一个很好的起点
  • 这是普通的 PostgreSQL 还是 fork?我从未见过这样的错误代码。您使用的是哪个客户端?
  • 嗯,可能是 fork 或非常旧的版本,当我使用 DbVisualizer (Java 8) 在 PGSQL 9.2.24 上运行新数据库时,我得到代码:0 和 SQLSTATE:42883 未定义功能。我将深入研究二进制文件并包含应用程序服务器附带的...谢谢!

标签: postgresql


【解决方案1】:

我得到了一个在这里比我更长的人的答案:数字代码只是 SQLSTATE,打包成 6 位编码,即数字代码 52461700 可以扩展为 varchar '42883'。这是为了满足某些需要数字代码而不是字符串的客户的需求。像我的 Java 应用程序这样的现代客户端可以使用其中一个,但应该使用字符串,因为它更标准,而且数字并没有像我最初想的那样提供更多细节。

我最初发布这个问题是因为谷歌搜索数字代码确实会出现一小组 Java 和 Ruby 输出,但看起来 Laurenz Albe 是正确的,有一个修改过的中间件添加了这个错误代码。

【讨论】:

    猜你喜欢
    • 2013-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-08
    相关资源
    最近更新 更多