RDSでDBインスタンスを作成し、以下の機能を使用しました。ローカル開発マシン上の同じバージョンのPostgreSQLで問題なく動作しましたが、エラーが発生しました。
create or replace function uuid() returns uuid as 'uuid-ossp', 'uuid_generate_v1' volatile strict language C;
ここにエラーログがあります:
ERROR: permission denied for language c ********** Error ********** ERROR: permission denied for language c SQL state: 42501
Ruby on Rails 3.2でこの関数を使用して、スキーマのuuidを生成しています。
.sqlファイルを直接ロードして、uuid-ossp拡張機能をロードしようとしているようです。最新のPostgreSQLではこれを行うべきではありません。RDSでは機能しません。
使用する
CREATE EXTENSION "uuid-ossp";
代わりに。