sql >> Databasteknik >  >> RDS >> PostgreSQL

ALTER TABLE för att lägga till ny kolumn på begränsat diskutrymme

PostgreSQL kan göra ADD COLUMN på plats om kolumnen inte har någon DEFAULT och är nullble.

Så:Använd samma metod som du skulle använda för att hantera det i en situation med hög samtidighet, men utan de triggers du skulle använda för att hantera det samtidigt.

  • ALTER TABLE ... ADD COLUMN ... utan någon DEFAULT eller NOT NULL
  • ALTER TABLE ... ALTER COLUMN ... DEFAULT ... för att lägga till DEFAULT om någon
  • UPDATE tabellen i rader för att ställa in värdet. VACUUM tabellen mellan varje batch. Gör inte använd VACUUM FULL . Varje batch måste vara en ny, separat transaktion som genomförs före VACUUM .
  • Om så önskas, ALTER TABLE ... ALTER COLUMN ... NOT NULL efter att alla rader har en värdeuppsättning


  1. Varför MySQL ger fel. Får inte returnera en resultatuppsättning från en funktion?

  2. RoR:hur testar jag min app mot flera databaser?

  3. Utmaningar med att skala Moodle PostgreSQL-databasen

  4. java null pekare undantag SQL förberedd sats