【问题标题】:postgresql truncate stringspostgresql 截断字符串
【发布时间】:2017-05-11 16:21:46
【问题描述】:

我正在使用 PostgreSQL 上的表返回函数(使用 pgAdmin 4)。它曾经运行良好,但由于某种原因,我在尝试修改函数时收到此错误消息:

错误:类型“表(id 整数,id_scenario 整数,date_valid 时间戳 机智”不存在 注意:标识符“表(id 整数,id_scenario 整数,date_valid 没有时区的时间戳,dni_q95 双精度,csp_forecast_q95 双精度,storage_q95 双精度)”将被截断为 "TABLE(id integer, id_scenario integer, date_valid timestamp wit"

我知道标识符不能超过 63 个字节,所以我的代码行被截断了。如果有人能帮助我解决这两个问题,我将不胜感激:

  1. 为什么这行突然被识别为标识符?

  2. 知道我需要返回所有这些列,如何规避这个问题?

这是函数体:

CREATE OR REPLACE FUNCTION public.csp_park_95(id_park integer)
RETURNS SETOF "TABLE(id integer, id_scenario integer, date_valid 
timestamp without time zone, dni_q95 double precision, csp_forecast_q95 
double precision, storage_q95 double precision)"
LANGUAGE 'sql'
COST 100.0
VOLATILE 
ROWS 1000.0
AS $function$

-- irrelevant code

$function$;

ALTER FUNCTION public.csp_park_95(integer)
OWNER TO "POC_kacare_admin";   

【问题讨论】:

标签: postgresql identifier maxlength


【解决方案1】:

尝试删除双引号,如下所示:

CREATE OR REPLACE FUNCTION public.csp_park_95(id_park integer)
    RETURNS TABLE(id integer, id_scenario integer, date_valid 
    timestamp without time zone, dni_q95 double precision, csp_forecast_q95 
    double precision, storage_q95 double precision)
    LANGUAGE 'sql'
    COST 100.0
    VOLATILE 
    ROWS 1000.0
    AS $function$
    -- irrelevant code
    $function$;

【讨论】:

  • 这不是 pgAdmin 中的错误。双引号用于标识符。所以"TABLE(id integer, id_scenario integer, date_valid timestamp without time zone, dni_q95 double precision, csp_forecast_q95 double precision, storage_q95 double precision)"一个 名称,而不是名称和参数列表。
  • 是的,我知道。但是,如果我正确理解问题"TABLE(id integer, id_scenario integer, date_valid timestamp without time zone, dni_q95 double precision, csp_forecast_q95 double precision, storage_q95 double precision)" 不是 op 想要的,他说:“2) 如何规避这个问题,知道我需要返回所有这些列?”.
  • 无论如何我编辑了我的答案以避免 pgAdmin4 的错误推测。
  • 非常感谢,去掉双引号后就可以了 :) 抱歉,如果我的问题有点幼稚,我是 postgresql 新手。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-09-14
  • 2015-12-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-05
相关资源
最近更新 更多