it-swarm.com.de

psql 9.5: gen_random_uuid () funktioniert nicht

SELECT gen_random_uuid()

erzeugt Ausgabe

ERROR:  function gen_random_uuid() does not exist
SQL state: 42883
Hint: No function matches the given name and argument types. You might need to add explicit type casts.

Ich habe CREATE EXTENSION pgcrypto; In der ausgewählten Datenbank ausgeführt und SELECT gen_random_bytes(1) funktioniert einwandfrei (gen_random_bytes Funktioniert nicht in anderen Datenbanken, in denen die Erweiterung pgcrypto nicht manuell erstellt wurde).

% psql --version
psql (PostgreSQL) 9.5.3

Ubuntu-Version ist 16.04.

16
d9k

sie können überprüfen, ob die Funktionen mit definiert sind

select pg_get_functiondef(to_regproc('gen_random_bytes'));
select pg_get_functiondef(to_regproc('gen_random_uuid'));

oder:

select * from pg_proc where proname like 'gen_random_%';

wenn beide Funktionen nicht definiert sind, ist wahrscheinlich ein Fehler bei der Erstellung der Erweiterung aufgetreten. Löschen Sie sie einfach und erstellen Sie sie neu:

drop extension pgcrypto;
CREATE EXTENSION pgcrypto;
27
cohenjo