【问题标题】:Concat in postgres pgjwt resulting in errorpostgres pgjwt中的Concat导致错误
【发布时间】:2021-05-27 13:18:47
【问题描述】:

我正在尝试使用pgjwt function,但是当我连接文本时会得到奇怪的结果。谁能解释一下这里发生了什么。

select sign ('"{foo": "bar"}', 'secret', 'HS512'); -- Works fine
select sign ('"{foo": "bar"}', 'secret', 'HS' || '512'); -- Works fine
select sign ('"{foo": "bar"}', 'sec' || 'ret', 'HS512'); -- Works fine
select sign ('"{fo' || 'o": "bar"}', 'secret', 'HS512'); -- Error
select sign ('"{foo":' || ' "bar"}', 'secret', 'HS512'); -- Error
select sign ('"{foo": "b' || 'ar"}', 'secret', 'HS512'); -- Error
select sign ('{}', 'sec' || 'ret', 'HS512'); -- Works fine
select sign ('{' || '}', 'sec' || 'ret', 'HS512'); -- Error

我得到的错误是:

ERROR: function sign (text, unknown, unknown) does not exist

【问题讨论】:

    标签: string postgresql string-concatenation


    【解决方案1】:

    您正在使用串联将 JSON 对象拆分为两个 text 类型的字符串。

    我相信之后的演员应该可以完成这项工作:

    select sign (('"{foo":' || ' "bar"}')::json, 'secret', 'HS512');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-17
      • 2022-06-28
      • 1970-01-01
      • 2017-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-22
      相关资源
      最近更新 更多