J'utilise Ubuntu Server 10.10 et j'ai installé PostgreSQL 8.4 avec apt-get install postgresql
. Je voudrais utiliser la sha1()
fonction intégrée, mais il semble que je dois d' pgcrypto
abord installer . Mais je ne sais pas comment l'installer.
Il n'y en a pas pgcrypto
si j'essaie de l'installer en utilisant apt-get install pgcrypto
et que je ne trouve aucun fichier commençant par pgcrypto
dans mon système (j'ai essayé find / -name "pgcrypto*"
).
Comment installer pgcrypto pour pouvoir utiliser la digest('word-to-hash','sha1')
fonction dans mes requêtes de base de données?
Mise à jour: j'ai du mal à installer pgcrypto sur une autre machine Ubuntu. Après avoir installé le package en utilisant sudo apt-get install postgresql-contrib-8.4
comment l'installer dans ma base de données PostgreSQL actuelle?
/usr/local/pgsql/share/contrib/pgcrypto.sql
et faites-le nous savoir./usr/local/pgsql
répertoire. Le seul endroit où j'ai des*.sql
fichiers est/usr/share/postgresql/8.4/
mais pas lié à la cryptographie.Réponses:
Pour une version plus récente de PG, consultez la réponse ci-dessous par Dustin Kirkland
C'est un module externe pour Postgres. Vous devez installer le
postgresql-contrib-8.4
package (ou votre version pg) via apt:Ensuite, vous trouverez le fichier d'installation sql quelque part dans le
/usr/share/postgresql
dossier et vous devrez exécuterpgcryto.sql
sur la base de données.Ou,
la source
sudo apt-get install postgres-contrib
je reçoisE: Unable to locate package postgres-contrib
sudo apt-get install postgresql-contrib-8.4
puis en exécutant en\i <path-to-pgcrypto>
utilisantpsql
.\i /usr/share/postgresql/8.4/contrib/pgcypto.sql
PostgreSQL 9.1+
Notez que je travaille sur Ubuntu 12.04, qui utilise postgresql 9.1.
Là, je devais:
Et puis dans ma base de données:
Et maintenant, je peux utiliser la fonctionnalité pgcrypto, gen_random_bytes ():
la source
CREATE EXTENSION
(ce qui rend l'autre réponse à proprement parler correcte.Pour la dernière version, il n'y a pas de fin de chemin de fichier avec pgcrypto.sql.
Créez une extension pgcrypto sous l'utilisateur requis.
Si dans le cas, l'utilisateur n'a pas l'autorisation de créer une extension, accordez l'autorisation de superutilisateur en vous connectant en tant qu'utilisateur postgres (par défaut) et réessayez.
la source