質問

Ubuntu 10.04でPostgreSQL 8.4.4を実行しています。

私はUUIDを生成しようとしていますが、それを行う方法が見つかりません。

uuid-ossp.sql inがあります /usr/share/postgresql/8.4/contrib/uuid-ossp.sql

私が試してみるとき、これが私が得るものです:

postgres=# SELECT uuid_generate_v1();
ERROR:  function uuid_generate_v1() does not exist
LINE 1: SELECT uuid_generate_v1();
               ^
HINT:  No function matches the given name and argument types. You might need to add explicit type casts.

何か案が ?

役に立ちましたか?

解決

のもの contrib 自動的に実行されません。関数をインストールするには、自分で実行する必要があります。 8.4バージョンについてはわかりませんが、8.3バージョンではDatabaseごとにのみインストールするように見えるため、PSQLで使用しているデータベースを開き、コマンドを発行します。 \i /usr/share/postgresql/8.4/contrib/uuid-ossp.sql

他のヒント

PostgreSQLの旅行でこれを見ました。 PgCrypto Contribモジュールが必要です。

CREATE OR REPLACE FUNCTION generate_uuid() RETURNS UUID AS
$$
SELECT ENCODE(GEN_RANDOM_BYTES(16), 'hex')::UUID
$$ LANGUAGE SQL IMMUTABLE;
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top