PostgreSQL で jsonb 型のカラムの一部を更新する方法を備忘録として残しておく

方法

以下の DB 構成および更新前のレコードの場合

  • Book Table
    • id field: SERIAL type ※Primary Key
      • value: 1
    • options field: JSONB type
      • value: {“key_1”: “aaa”, “key_2”: “bbb”}
UPDATE book
SET
  options = options || '{"key_1": "ccc"}',
WHERE id = 1;

更新後

  • Book Table
    • id field: SERIAL type ※Primary Key
      • value: 1
    • options field: JSONB type
      • value: {“key_1”: “ccc”, “key_2”: “bbb”}