云服务器内容精选

  • 解决方案 缺少的函数可能属于某个插件,也可能是用户自建的函数。可按照如下步骤在源库检查函数的来源,并在目标库创建对应插件或者自建函数后,重试DRS任务。 登录源库,执行如下SQL查询函数所属的插件,其中f_name为对应函数名称。 select extname, nspname, proname,pg_get_function_arguments(c.oid) as funcargs from pg_extension e join pg_depend d on (d.refobjid=e.oid) join pg_proc c on (d.objid=c.oid) join pg_namespace n on c.pronamespace=n.oid where proname ='f_name'; 有查询结果,表示函数属于某个插件,结果中的extname字段即为插件名称,继续执行2。 无查询结果,表示函数不属于任何插件,为用户自建函数,执行3。 如果函数属于某个插件,则在目标库RDS for PostgreSQL的管理页面中选择插件管理,安装对应的插件。 如果函数为用户自建函数,则在目标库创建与源库相同的函数,函数定义语句可参考如下SQL在源库执行的结果,其中f_name为对应函数名称。 select n.nspname,p.proname,pg_get_functiondef(p.oid) as funcdef from pg_proc p left join pg_namespace n on p.pronamespace=n.oid where proname ='f_name'; 重试DRS任务。
  • 场景描述 全量同步期间DRS任务报错,同步日志界面提示:service DATAMOVE failed, cause by: apply event=[type=table_structure, index=%s, schema_name=%s, object_name=%s] occur error, msg=ERROR: function *** does not exist Hint: No function matches the given name and argument types. You might need to add explicit type casts.