Datenbanken · Middle · Frage 38 von 75
Wie fügt man im modernen PostgreSQL einer riesigen Tabelle eine NOT NULL-Spalte mit Standardwert ohne lange Sperren hinzu?
- 1Die Spalte hinzufügen und dann den Server neu starten
- 2Seit PostgreSQL 11 ist das eine schnelle reine Metadatenänderung
- 3Unmöglich; man muss die ganze Tabelle neu aufbauen
Antwort zeigen
Richtige Antwort: Seit PostgreSQL 11 ist das eine schnelle reine Metadatenänderung
Erklärung
Volatile Standardwerte wie random() schreiben die Tabelle weiterhin neu. Für berechnete Werte füge eine nullbare Spalte hinzu, befülle sie in Stapeln und ergänze dann die Einschränkung.