私の質問は、かなり単純です。UUID の概念は知っていますが、DB 内の「ストア」から各「アイテム」を参照するために UUID を生成したいと考えています。合理的だと思いますか?
問題は、次の行がエラーを返すことです。
honeydb=# insert into items values(
uuid_generate_v4(), 54.321, 31, 'desc 1', 31.94);
ERROR: function uuid_generate_v4() does not exist
LINE 2: uuid_generate_v4(), 54.321, 31, 'desc 1', 31.94);
^
HINT: No function matches the given name and argument types. You might need to add explicit type casts.
私は次のページを読みました:静的ユーザ定義オブジェクト
Ubuntu 10.04 x64 で Postgres 8.4 を実行しています。
ベストアンサー1
uuid-ossp
は contrib モジュールなので、デフォルトではサーバーにロードされません。使用するには、データベースにロードする必要があります。
最新の PostgreSQL バージョン (9.1 以降) の場合は簡単です。
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
ただし、9.0以下では、代わりにSQLスクリプトを実行して拡張機能をロードする必要があります。8.4 の contrib モジュールのドキュメント。
Pg 9.1以降の場合は、代わりに以下をお読みください。現在の貢献ドキュメントそしてCREATE EXTENSION
これらの機能は、8.4 などの 9.0 以前のバージョンには存在しません。
PostgreSQL のパッケージ バージョンを使用している場合は、contrib モジュールと拡張機能を含む別のパッケージをインストールする必要があります。パッケージ マネージャー データベースで「postgres」と「contrib」を検索してください。