Jon*_*nas 23 postgresql pgcrypto installation postgresql-8.4
我正在使用 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 数据库后安装软件包?
小智 20
请注意,我正在使用 Ubuntu 12.04,它使用 postgresql 9.1。
在那里,我需要:
sudo apt-get install postgresql-contrib
Run Code Online (Sandbox Code Playgroud)
然后在我的数据库中:
postgres@ztrustee:~$ psql test
psql (9.1.3)
Type "help" for help.
test=# CREATE EXTENSION pgcrypto;
CREATE EXTENSION
Run Code Online (Sandbox Code Playgroud)
现在我可以使用 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
Run Code Online (Sandbox Code Playgroud)
DrC*_*sos 18
对于较新版本的 PG,请查看 Dustin Kirkland 的以下答案
它是 Postgres 的外部模块。您应该postgresql-contrib-8.4
通过 apt安装(或您的 pg 版本)包:
apt-get install postgresql-contrib-8.4
Run Code Online (Sandbox Code Playgroud)
然后你在/usr/share/postgresql
文件夹中的某处找到sql安装文件,你需要pgcryto.sql
在数据库上运行。
psql -d <database> -f /usr/share/postgresql/8.4/contrib/pgcrypto.sql
Run Code Online (Sandbox Code Playgroud)
或者,
$ cd /usr/share/postgresql/8.4/contrib
$ psql -d <database>
psql (8.4.8)
Type "help" for help.
database=# \i pgcrypto.sql
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
55442 次 |
最近记录: |