我正在使用 Ubuntu Server 10.10,并且我已经使用apt-get install postgresql
. 我想使用内置sha1()
功能,但似乎必须先安装pgcrypto
。但我不知道如何安装它。
如果pgcrypto
我尝试使用安装它apt-get install pgcrypto
并且在我的系统中找不到任何以开头的文件pgcrypto
(我试过find / -name "pgcrypto*"
),则没有。
如何安装 pgcrypto 以便digest('word-to-hash','sha1')
在我的数据库查询中使用该函数?
更新:我正在努力在另一台 Ubuntu 机器上安装 pgcrypto。使用安装软件包后,sudo apt-get install postgresql-contrib-8.4
如何将其安装到我当前的 PostgreSQL 数据库?
PostgreSQL 9.1+
请注意,我正在使用 Ubuntu 12.04,它使用 postgresql 9.1。
在那里,我需要:
然后在我的数据库中:
现在我可以使用 pgcrypto 功能,gen_random_bytes():
对于更新版本的 PG,请查看以下 Dustin Kirkland 的答案
它是 Postgres 的外部模块。您应该
postgresql-contrib-8.4
通过 apt 安装(或您的 pg 版本)包:然后您在文件夹中的某处找到 sql 安装文件
/usr/share/postgresql
,您需要pgcryto.sql
在数据库上运行。或者,
对于最新版本,没有以 pgcrypto.sql 结尾的文件路径。
在所需用户下创建扩展 pgcrypto。
如果万一,用户没有创建扩展的权限,请以 postgres(默认)用户身份登录并授予超级用户权限,然后重试。