2012-06-20 10 views
5

Ich versuche, eine Java Jetty Anwendung auszuführen und ich diesen Fehler sehe immer wieder:Postgres fehlende pgcrypt Fähigkeit?

Caused by: 
org.postgresql.util.PSQLException: ERROR: function crypt(character varying, character) does not exist| Hint: No function matches the given name and argument types. You might need to add explicit type casts.| Where: PL/pgSQL function 

Hat jemand dies erkennen oder wie das Problem zu lösen? Ich dachte pgcrypt wurde in Postgres 9.1.x vorgebündelt?

Ich verwende derzeit Mac OSX Lion 10.7 und installiert Postgres mit brauen "brauen install postgres".

+1

Auch wenn 'pgcrypto' prebundled ist, die' crypt() 'Signatur ist' crypt (Text, Text) 'und nicht' crypt (character varying, Zeichen) 'wie aus Ihrer Fehlermeldung zu sehen (Bär in mind 'text' ist äquivalent zu' character variating'. –

Antwort

10

Ich musste nur pgcrypto aktivieren; lief gerade von der CLI:

CREATE EXTENSION pgcrypto;

für Mac-Anwender empfehle ich mehr darüber auf brauen Lesen:

brew info postgres

+0

Vielen Dank, dass Sie diese Erweiterung aktiviert haben. Ich habe postgres 9.5.3 eingecheckt, wie UUID automatisch erstellt wird. Ich fand https://www.postgresql.org/docs/9.5/static/uuid-ossp.html und schlug vor, 'gen_random_uuid();' Funktion. Ich habe diese Erweiterung aktiviert und es funktioniert! 'development-db # SELECT gen_random_uuid(); gen_random_uuid -------------------------------------- 40a3e789-a685-4585-abbc a0a4829402b7 (1 Zeile) ' – Abhi

0

Es ist ‚Erweiterung‘ und nicht als ‚Erweiterungen‘. Da ich keinen Charakter bearbeiten kann, musste ich eine neue Antwort schreiben.

CREATE EXTENSION pgcrypto; 
+0

Ein Kommentar wäre in Ordnung gewesen, wie dieser. Sie können diese Antwort jetzt löschen, danke für den Hinweis. –

Verwandte Themen