Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么PL/Ruby函数这么慢,不能取消?_Ruby_Postgresql - Fatal编程技术网

为什么PL/Ruby函数这么慢,不能取消?

为什么PL/Ruby函数这么慢,不能取消?,ruby,postgresql,Ruby,Postgresql,我在Postgresql 9.3、OSX 10.10上按照这里的说明安装了PL/Ruby。但是,我尝试创建一个函数: CREATE FUNCTION ruby_max2(x int4, y int4) RETURNS int4 AS ' return x > y ? x : y ' LANGUAGE 'plruby'; 并调用我创建的函数: SELECT ruby_max2(7,8); 但是没有结果,查询继续进行,无法取消(即使我不能终止该进程)。我错过了什么 这是我的

我在Postgresql 9.3、OSX 10.10上按照这里的说明安装了PL/Ruby。但是,我尝试创建一个函数:

  CREATE FUNCTION ruby_max2(x int4, y int4) RETURNS int4 AS '
    return x > y ? x : y
 ' LANGUAGE 'plruby';
并调用我创建的函数:

 SELECT ruby_max2(7,8);
但是没有结果,查询继续进行,无法取消(即使我不能终止该进程)。我错过了什么

这是我的


这是我的

猜测,分机出了问题。有关详细信息,我可能需要查看回溯-在运行函数之前,使用
选择pg_backend_pid()
获取进程ID,然后在函数运行后附加调试器并获取回溯。@CraigRinger更新了我的问题不幸的是,二进制文件被剥离,并且缺少外部符号,但是最后一个条目很有趣。看起来Ruby VM可能正在尝试发出crashdump:。查看该链接中提到的任何库路径、Console.app日志或PostgreSQL server错误日志中是否有更多详细信息。@CraigRinger是的,你是对的,它不知怎么崩溃了
rb\u vm\u错误报告
引导我找到pg\u日志,我发现
分段错误
。请参阅我更新的问题,了解pg_日志输出。当PostgreSQL从PL/Ruby中抛出的错误/异常使Ruby VM崩溃时,它似乎崩溃了。如果您使用了多个线程,这就可以解释了,否则很难说——也许可以问pgsql general。