以下はPostgreSQL8.4で機能します。
insert into credentials values('demo', pgp_sym_encrypt('password', 'longpassword'));
バージョン9.1で試してみると、次のようになります。
エラー:関数pgp_sym_encrypt(unknown、unknown)が存在しません行1:資格情報に挿入値('demo'、pgp_sym_encrypt('pass ... ^ヒント:指定された名前と引数の型に一致する関数はありません。明示的に追加する必要がある場合があります型キャスト。
***エラー** *
エラー:関数pgp_sym_encrypt(unknown、unknown)が存在しませんSQL状態:42883ヒント:指定された名前と引数の型に一致する関数はありません。明示的な型キャストを追加する必要があるかもしれません。キャラクター:40
このような明示的なキャストを試してみると
insert into credentials values('demo', pgp_sym_encrypt(cast('password' as text), cast('longpassword' as text)))
少し異なるエラーメッセージが表示されます。
エラー:関数pgp_sym_encrypt(text、text)が存在しません
pgcryptoをインストールしました。PostgreSQL 9.1で動作しているpgp_sym_encrypt()を持っている人はいますか?