名前、パスワード、メールのマスキング
UPDATE your_table SET name = 'masked_' || id, email = CONCAT( md5(random()::text || id::text), '@example.com' ), password = md5(random()::text)
ランダムなUUIDを利用する場合
UPDATE your_table SET name = 'masked_' || id, email = gen_random_uuid()::text || '@example.com', password = md5(random()::text) WHERE condition;
name: 元のidを利用して「masked_1」のような一意な文字列を作成しています。idがない場合はランダムな数値やUUIDを生成する方法も検討できます。
email: md5()関数を用いて、一意性を保つハッシュ値を生成し、任意の固定ドメイン(例: @example.com)と組み合わせてユニークなメールアドレスを生成しています。
password: ランダムな値をハッシュ化することで、元の値と無関係なランダムな文字列に置き換えています。
gen_random_uuid(): 一意なUUIDを生成する関数(pgcrypto拡張が必要)。 CREATE EXTENSION IF NOT EXISTS pgcrypto;で有効化できます。