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;

データベースごとに 1 回。Heroku 共有は、まだ PostgreSQL 8.3 である可能性があります。詳細は細かいマニュアルを参照してください。

ただし、私が聞いた限りでは、古い「共有」プランでは plpgsql を使用できません (自分で使用しないでください)。ただし、plpgsql をサポートする PostgreSQL 9.1 の新しい計画があります。

于 2012-06-04T10:49:39.367 に答える