PostgreSQLでbytea型のデータの文字列置換をする方法

PostgreSQLでbytea型のデータの文字列を置き換える方法と、

PostgreSQLでbytea型から指定した文字列と合致する位置を取得する方法を組み合わせると、

 bytea型でも、指定した文字列と合致する箇所を任意の文字列へ置き換えることが出来ます。

 

例えば、次のクエリを実行すると

select overlay(
        'test1xxxxtest1'::bytea
        placing 'aaaatest2' 
        from    position('xxxx' in 'test1xxxxtest1'::bytea)
        )

出力は

"test1aaaatest2"

となります。