私は PostgreSQL 8.4 を使用してpgp_sym_encrypt
おり、pgcrypto 拡張機能の関数を使用して、挿入時にデータを暗号化しています。したがって、挿入クエリは次のようになります。
insert into myTable (
column1
,column2
)
values (
pgp_sym_encrypt('value1','key')
,pgp_sym_encrypt('value1','key')
);
テーブルの列 1 に主キー制約を適用しましたが、暗号化されたデータが同じ復号化された値に対して常に同じであるとは限らないため、制約は既存の値の挿入を常に検出するとは限りません。
質問 :
この制約を適用して、復号化されたデータが一致するかどうかをチェックし、その場合は挿入を許可しないようにするにはどうすればよいですか?