1

我正在尝试在我从 OSX Mavericks 上的 Enterprise DB 下载的 Postgres 9.3 包上安装 plperl。-- 每次我发出

create language plperl

我明白了

postgres-# ;
The connection to the server was lost. Attempting reset: Failed.
!>

编辑:日志文件显示

2014-01-02 14:08:50 CST LOG:  server process (PID 4843) was terminated by signal 11: Segmentation fault
2014-01-02 14:08:50 CST DETAIL:  Failed process was running: CREATE EXTENSION IF NOT EXISTS plperl WITH SCHEMA pg_catalog;
2014-01-02 14:08:50 CST LOG:  terminating any other active server processes
2014-01-02 14:08:50 CST WARNING:  terminating connection because of crash of another server process
2014-01-02 14:08:50 CST DETAIL:  The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory.
2014-01-02 14:08:50 CST HINT:  In a moment you should be able to reconnect to the database and repeat your command.
2014-01-02 14:08:50 CST WARNING:  terminating connection because of crash of another server process
2014-01-02 14:08:50 CST DETAIL:  The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory.
2014-01-02 14:08:50 CST HINT:  In a moment you should be able to reconnect to the database and repeat your command.

我隐约记得不得不在 9.2 上安装 activeperl 库,但我想也许这里有人知道在 OSX 上启动和运行 plperl 的最佳方法。

很遗憾,但我真的不需要 plperl,除了 perl 具有 sprintf 函数的最佳实现(使用一些更高级的格式化选项),但我离题了。

4

1 回答 1

1

要安装 plperl,您必须安装 plperl 5.14,该版本,没有更高或更低。Activestate 使这变得困难,因为他们已经更改了所有许可,您现在必须为访问这个旧版本付费(这是 postgres 可以免费使用的最后一个版本)。幸运的是,即使他们已经从下载站点删除了 5.14,CNET 仍然可以使用它。可以在这里下载:

ActivePerl 5.14 OSX /x86

于 2014-01-02T21:14:08.113 回答