Estou usando o Ubuntu Server 10.10 e instalei o PostgreSQL 8.4 usando o apt-get install postgresql
. Eu gostaria de usar a sha1()
função interna, mas parece que tenho que instalar pgcrypto
primeiro. Mas não sei como instalar.
Não há pgcrypto
se eu tentar instalá-lo usando apt-get install pgcrypto
e não encontrar nenhum arquivo começando com pgcrypto
no meu sistema (tentei find / -name "pgcrypto*"
).
Como instalo o pgcrypto para poder usar a digest('word-to-hash','sha1')
função em minhas consultas ao banco de dados?
Atualização: estou lutando para instalar o pgcrypto em outra máquina Ubuntu. Depois de instalar o pacote usando sudo apt-get install postgresql-contrib-8.4
como faço para instalá-lo no meu banco de dados PostgreSQL atual?
PostgreSQL 9.1+
Observe que estou trabalhando no Ubuntu 12.04, que usa o postgresql 9.1.
Lá, eu precisava:
E então no meu banco de dados:
E agora posso usar a funcionalidade pgcrypto, gen_random_bytes():
Para a versão mais recente do PG, confira a resposta abaixo por Dustin Kirkland
É um módulo externo para o Postgres. Você deve instalar o
postgresql-contrib-8.4
pacote (ou sua versão pg) via apt:Em seguida, você encontra o arquivo de instalação do sql em algum lugar da
/usr/share/postgresql
pasta e precisará executarpgcryto.sql
no banco de dados.Ou,
Para a versão mais recente, não há fim de caminho de arquivo com pgcrypto.sql .
Crie uma extensão pgcrypto sob o usuário necessário.
Se, no caso, o usuário não tiver permissão para criar uma extensão, dê permissão ao superusuário fazendo login como usuário postgres(default) e tente novamente.