2012-06-20 12 views
5

estoy tratando de ejecutar una aplicación Java embarcadero y sigo viendo este error:Postgres missing pgcrypt ability?

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 

¿Alguien reconoce esto o cómo resolver el problema? Pensé que pgcrypt fue empaquetado en Postgres 9.1.x?

Actualmente ejecuto Mac OSX Lion 10.7 e instalé Postgres usando brew "brew install postgres".

+1

Incluso si 'pgcrypto' se prebundled, el' crypt() '' es la firma de la cripta (texto, texto) '' y no cripta (carácter variable, carácter) 'como se ve desde su mensaje de error (tener en mind 'text' es equivalente a' character varying'). –

Respuesta

10

Solo tuve que habilitar pgcrypto; acaba de ejecutar desde la CLI:

CREATE EXTENSION pgcrypto;

para usuarios de Mac recomiendo leer más sobre él en BREW:

brew info postgres

+0

Gracias por sugerir habilitar esta extensión. Estaba revisando postgres 9.5.3, cómo crear uuid, automáticamente. Encontré https://www.postgresql.org/docs/9.5/static/uuid-ossp.html y sugiriendo usar 'gen_random_uuid();' función. ¡Permití esta extensión y funciona! 'development-db # SELECT gen_random_uuid(); gen_random_uuid -------------------------------------- 40a3e789-a685-4585-abbc- a0a4829402b7 (1 fila) ' – Abhi

0

Se trata de 'extensión' en lugar de 'extensiones'. Como no puedo editar un personaje, tuve que publicar una nueva respuesta.

CREATE EXTENSION pgcrypto; 
+0

Habría un comentario en orden, como este. Puede eliminar esta respuesta ahora, gracias por la sugerencia. –