1

我正在尝试在我的 Heroku 数据库上创建一个函数。我最终会把它绑在触发器上。

我已经看到了整个错误,但我似乎看不到解决它的方法。

我得到的错误是......

rake aborted!
PG::Error: ERROR:  language "plpgsql" does not exist

我正在阅读的是我无法在 heroku 上创建触发器或函数。除非我使用 shared_database,否则这不是一个选项。我的应用程序已经是多租户的,并且使用了它自己的模式。

我试图按照建议创建语言,但被拒绝了。

问题:我读对了吗,可以在 heroku 上的 postgesql 中创建函数吗?
问题:如果可以在数据库中创建函数,那么有人知道怎么做吗?

4

1 回答 1

5

自 PostgreSQL 9.0 起,程序语言 PL/pgSQL 已预先安装。在早期版本中,您必须运行:

CREATE LANGUAGE plpgsql;

每个数据库一次。Heroku 共享的可能仍然是 PostgreSQL 8.3。更多在精美手册中。

但是,据我所知,旧的“共享”计划不允许使用 plpgsql(自己不要使用它)。不过,PostgreSQL 9.1有一个新计划,支持 plpgsql。

于 2012-06-04T10:49:39.367 回答