はじめに こんにちは!プロダクトエンジニアのhypermktとraikunです。SmartHRの開発をしている過程でjsonb型のカラムを持つテーブルに遭遇しました。JSONの特定のキーに入ってる値を条件に検索したいという要件がありましたが、今までjsonb型カラムを利用したことなく、どうしたら指定の条件で検索できるのか悩みました。その過程で学びもあったので紹介します。 対象 PostgreSQL バージョンは15 jsonb型とは jsonデータ型は入力テキストの正確なコピーで格納し、処理関数を実行するたびに再解析する必要があります。 jsonbデータ型では、分解されたバイナリ形式で格納されます。 引用:8.14. JSONデータ型 つまり、json型ではテキスト形式で格納しているため処理の度にparseが必要になります。 逆にjsonb型では分解されたBinary形式で格納されるため処