タグ

NOT VALIDに関するmkusakaのブックマーク (1)

  • PostgreSQL 18からNOT NULL制約をNOT VALIDで追加できるようになりました - エムスリーテックブログ

    こんにちは! デジスマチームの山田です。これはデジスマチームのブログリレー3日目の投稿です。 番稼動中のデータベースの運用において、NOT NULL制約を持たせたいカラムを既存のテーブルに追加する作業は頭を悩ませるものです。PostgreSQL 11(以下、PG11)以降、DEFAULTを固定の値で指定した場合のカラム追加は高速化されました。しかしDEFAULTとして固定値を用意するのではなく、各行ごとに異なる値の非NULLなカラムを追加したいというケースもあります。このような場合「一度NULLを許可してカラムを追加し、アプリケーションの改修やUPDATEによるバックフィルを完了させた後にNOT NULL制約を追加する」という手順を踏むことがあります。この際テーブルが長時間ロックされることを避けるためにCHECK制約を介した少し複雑な手順が必要でした。 そんな中PostgreSQL 18

    PostgreSQL 18からNOT NULL制約をNOT VALIDで追加できるようになりました - エムスリーテックブログ
    mkusaka
    mkusaka 2026/03/14
    PG18でNOT NULL制約をNOT VALIDで追加可能になったことを、Docker上の1,000万行usersテーブルでgen_random_uuidで検証した記事です。
  • 1