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