Postgresql Postgres pgcrypto Privilledges

Postgresql Postgres pgcrypto Privilledges,postgresql,pgcrypto,Postgresql,Pgcrypto,我以超级用户的身份插入pgcrypto扩展,如下所示: CREATE EXTENSION pgcrypto; 作为超级用户,我对其进行了测试,结果发现: select gen_salt('bf'); gen_salt ------------------------------- $2a$06$CJPcLcOBZnCEl.Z5ChrSbO 但是,当以其他用户身份登录时,我会收到如下错误: select gen_salt('bf'); ERROR: function

我以超级用户的身份插入pgcrypto扩展,如下所示:

CREATE EXTENSION pgcrypto;
作为超级用户,我对其进行了测试,结果发现:

select gen_salt('bf');
           gen_salt
-------------------------------
 $2a$06$CJPcLcOBZnCEl.Z5ChrSbO
但是,当以其他用户身份登录时,我会收到如下错误:

select gen_salt('bf');
ERROR:  function gen_salt(unknown) does not exist
如何使pgcrypto库对所有用户可见


谢谢。

每个数据库都有PostgreSQL扩展。如果您登录到另一个数据库,则该扩展在那里不可用。默认情况下,任何用户都可以使用这些函数

你确定你登录了同一个数据库?每个database.lol都有扩展名。愚蠢的错误。这就是问题所在。如果您愿意,可以将其添加为答案,我可以为其他人正确标记。对于那些想知道如何启用扩展的人,请在pgAdmin的左窗格中,展开“数据库”卷展栏->右键单击扩展->选择创建->选择扩展->在名称字段中,选择您首选的扩展名(例如
pgcrypto
)->单击保存。