Saltar al contenido

¿Cómo instalo pgcrypto en PostgreSQL 8.4?

Es imprescindible interpretar el código de forma correcta antes de adaptarlo a tu proyecto y si tquieres aportar algo puedes dejarlo en la sección de comentarios.

Solución:

PostgreSQL 9.1+

Tenga en cuenta que estoy trabajando en Ubuntu 12.04, que usa postgresql 9.1.

Allí, necesitaba:

sudo apt-get install postgresql-contrib

Y luego en mi base de datos:

[email protected]:~$ psql test
psql (9.1.3)
Type "help" for help.
test=# CREATE EXTENSION pgcrypto;
CREATE EXTENSION

Y ahora puedo usar la funcionalidad pgcrypto, gen_random_bytes():

test=# create table test ( 
  id 
    text 
    not null 
    default encode( gen_random_bytes( 32 ), 'hex' ) 
    primary key, 
  value 
    text 
); 
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "test_pkey" for table "test"
CREATE TABLE
test=# d test
                            Table "public.test"
 Column | Type |                         Modifiers                          
--------+------+------------------------------------------------------------
 id     | text | not null default encode(gen_random_bytes(32), 'hex'::text)
 value  | text | 
Indexes:
    "test_pkey" PRIMARY KEY, btree (id)

test=# insert into test (value) VALUES ('scoobydoo');
INSERT 0 1
test=# select * from test;
                                id                                |   value   
------------------------------------------------------------------+-----------
 76dd5bd0120d3df797f932fbcb4f8aa5088e215ee2b920dddbff59c8595fbac7 | scoobydoo

Para una versión más nueva de PG, consulte la respuesta a continuación de Dustin Kirkland

Es un módulo externo para Postgres. Debes instalar el postgresql-contrib-8.4 (o su versión pg) paquete a través de apt:

apt-get install postgresql-contrib-8.4

Luego encuentra el archivo de instalación sql en algún lugar del /usr/share/postgresql carpeta, y tendrá que ejecutar pgcryto.sql en la base de datos.

psql -d  -f /usr/share/postgresql/8.4/contrib/pgcrypto.sql

O,

$ cd /usr/share/postgresql/8.4/contrib
$ psql -d 
    psql (8.4.8)
    Type "help" for help.

    database=# i pgcrypto.sql

Para la última versión, no hay una ruta de archivo que termine con pgcrypto.sql.

Cree una extensión pgcrypto bajo el usuario requerido.

$ psql -U  -d mydb

psql (10.6 (Ubuntu 10.6-0ubuntu0.18.04.1))
Type "help" for help.

mydb=> CREATE EXTENSION pgcrypto;

CREATE EXTENSION
mydb=> 

Si en el caso, el usuario no tiene permiso para crear una extensión, otorgue permiso de superusuario iniciando sesión como usuario de postgres (predeterminado) e intente nuevamente.

$ psql --u postgres

psql (10.6 (Ubuntu 10.6-0ubuntu0.18.04.1))
Type "help" for help.

postgres=# ALTER USER  WITH SUPERUSER;

ALTER ROLE

valoraciones y reseñas

Puedes añadir valor a nuestro contenido informacional tributando tu veteranía en los informes.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *