← Datenbankadministration für Sysadmins

Schemaänderungen im laufenden Betrieb: Sperrstufe, Riegel und Rückweg

Der ALTER TABLE lief in 200 Millisekunden. Die Anwendung war 40 Minuten nicht benutzbar, und im Protokoll steht kein einziger Fehler. Beides passt zusammen: Die Sperre, die eine Strukturänderung nimmt, blockiert auch gewöhnliche Leseabfragen — und ohne Zeitgrenze wartet sie unbegrenzt auf eine fremde Transaktion. Dieses Modul behandelt Sperrstufen je Unterbefehl, den Riegel, der aus Stillstand einen Fehlschlag macht, und das Muster, mit dem eine Spalte ohne Ausfall ersetzt wird.

Fortgeschritten · ~45 Min · 11 Abschnitte Einführung · 9 Übungen (davon 3 Missionen)

Modul starten →

Fortschritt wird gespeichert — du kannst das Modul später jederzeit fortsetzen.

Nur den Lehrtext lesen →

Das kannst du danach

  • ✓Du schlägst die Sperrstufe je Unterbefehl nach und weißt, dass eine Zusammenfassung die strengste für alle erzwingt — einschließlich der Sperre auf referenzierten Tabellen.
  • ✓Du setzt eine Sperr-Zeitgrenze in der Migrationssitzung, damit ein Wartefall zum sichtbaren Fehlschlag wird statt zum stillen Ausfall.
  • ✓Du lieferst Schemaänderungen in rückwärtskompatiblen Schritten aus und benennst den Rückweg, bevor der zusammenziehende Schritt kommt.

Übungen

  • 1. EntscheidungWas entgegnest du?
  • 2. EntscheidungWelche Folge hat das?
  • 3. EntscheidungWas fehlt in dieser Einschätzung?
  • 4. MissionDie Migration ohne Riegel
  • 5. EntscheidungWie gehst du vor?
  • 6. ReihenfolgeEine Spalte ersetzen, ohne den Dienst anzuhalten
  • 7. EntscheidungWie bewertest du die Kombination?
  • 8. EntscheidungWelche Vorsorge greift hier?
  • 9. MissionTrägt die alte Anwendungsfassung das noch?

Arbeitsartefakte

Quellen & Aktualität7 Primärquellen · zuletzt geprüft:
  1. 01postgresql.org/docs/current/sql-altertable.html
  2. 02postgresql.org/docs/current/explicit-locking.html
  3. 03postgresql.org/docs/current/view-pg-locks.html
  4. 04postgresql.org/docs/current/runtime-config-client.html
  5. 05postgresql.org/docs/current/indexes-intro.html
  6. 06postgresql.org/docs/current/app-psql.html
  7. 07postgresql.org/docs/current/routine-vacuuming.html

Verfasst von Julian Zentgraf