PostgreSQLのJSONBからキーを削除する方法


  1. 単一のキーを削除する場合: JSONBフィールド内の単一のキーを削除するには、-演算子を使用します。以下は、dataというJSONBフィールド内のkey_to_removeキーを削除する例です。

    UPDATE テーブル名
    SET フィールド名 = フィールド名 - 'key_to_remove'
    WHERE 条件;

    例えば、postsテーブルのmetadataフィールド内のtagsキーを削除する場合は、次のようになります。

    UPDATE posts
    SET metadata = metadata - 'tags'
    WHERE 条件;
  2. 複数のキーを削除する場合: JSONBフィールド内の複数のキーを削除するには、-演算子とjsonb_build_object関数を組み合わせます。以下は、dataというJSONBフィールド内のkey1key2を削除する例です。

    UPDATE テーブル名
    SET フィールド名 = フィールド名 - jsonb_build_object('key1', '', 'key2', '')
    WHERE 条件;

    例えば、postsテーブルのmetadataフィールド内のkey1key2を削除する場合は、次のようになります。

    UPDATE posts
    SET metadata = metadata - jsonb_build_object('key1', '', 'key2', '')
    WHERE 条件;

上記の方法を使用することで、PostgreSQLのJSONBフィールドからキーを削除することができます。必要に応じて、適切なテーブル名、フィールド名、条件を指定してコードを調整してください。