web-dev-qa-db-ja.com

RDSでは、pgcrypto拡張を作成した後、ダイジェスト機能が未定義になります

AWS RDSインスタンスでは、

CREATE EXTENSION pgcrypto;

拡張機能が作成されます。両方のクエリ:

SELECT digest('a', 'sha256') FROM table_name;
SELECT public.digest('a', 'sha256') FROM table_name;

エラーを出しますfunction public.digest(unknown、unknown)does not exist

2
chris

同僚が問題を発見しました。誰かが同様の問題を抱えている場合、問題はpgcryptoが公開されていないスキーマにインストールされていることでした。そのため、報告されたインストール済み拡張機能のクエリは、それがインストールされたと言いました。存在しない場合にインストールしても、スキーマは変更されず、すべてのスキーマにインストールされませんでした。最終的な解決策は、すべてのスキーマから削除し、パブリックスキーマに直接インストールすることでした。

1
chris