web-dev-qa-db-ja.com

PostgreSQL 9.3 Amazon RDSは、uuidの生成にUUID-OSSP拡張を使用しているときにエラーを出します

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を生成しています。

6
Rameshwar RV

.sqlファイルを直接ロードして、uuid-ossp拡張機能をロードしようとしているようです。最新のPostgreSQLではこれを行うべきではありません。RDSでは機能しません。

使用する

CREATE EXTENSION "uuid-ossp";

代わりに。

8
Craig Ringer