即使启用了 pgcrypto 扩展,AWS RDS Postgres 加密函数也不起作用
AWS RDS Postgres Crypto functions doesn't work even with the pgcrypto extension enabled
我有新的 AWS RDS Postgres (v 11) 实例。我已经安装了 pgcrypto
扩展,但它不允许再次这样做:
CREATE EXTENSION pgcrypto;
Error in query (7): ERROR: extension "pgcrypto" already exists
但是我不能使用扩展功能:
select gen_salt('bf');
Error in query (7): ERROR: function gen_salt(unknown) does not exist
LINE 1: select gen_salt('bf')
HINT: No function matches the given name and argument types. You might need to add explicit type casts.
我做错了什么?
问题是扩展可能是在模式处于活动状态时添加的。感谢@Antti Haapala link 对同一个问题:https://dba.stackexchange.com/questions/135093/in-rds-digest-function-is-undefined-after-creating-pgcrypto-extension .
我在未选择架构时执行了以下操作:
DROP EXTENSION pgcrypto;
Query executed OK, 0 rows affected. (0.031 s)
CREATE EXTENSION pgcrypto;
Query executed OK, 0 rows affected. (0.046 s)
SELECT gen_salt('bf');
gen_salt
a$kyj11fcRtpwxrqgCfZEIaO
现在一切正常。
我有新的 AWS RDS Postgres (v 11) 实例。我已经安装了 pgcrypto
扩展,但它不允许再次这样做:
CREATE EXTENSION pgcrypto;
Error in query (7): ERROR: extension "pgcrypto" already exists
但是我不能使用扩展功能:
select gen_salt('bf');
Error in query (7): ERROR: function gen_salt(unknown) does not exist
LINE 1: select gen_salt('bf')
HINT: No function matches the given name and argument types. You might need to add explicit type casts.
我做错了什么?
问题是扩展可能是在模式处于活动状态时添加的。感谢@Antti Haapala link 对同一个问题:https://dba.stackexchange.com/questions/135093/in-rds-digest-function-is-undefined-after-creating-pgcrypto-extension .
我在未选择架构时执行了以下操作:
DROP EXTENSION pgcrypto;
Query executed OK, 0 rows affected. (0.031 s)
CREATE EXTENSION pgcrypto;
Query executed OK, 0 rows affected. (0.046 s)
SELECT gen_salt('bf');
gen_salt
a$kyj11fcRtpwxrqgCfZEIaO
现在一切正常。