Defaultwerte und Constraints

ALTER TABLE ermöglicht es, nachträglich Restriktionen und dergleichen einzuführen. Diese sogenannten Constraints bieten gute Möglichkeiten, Daten zu korrigieren und so dafür zu sorgen, dass der Datenbestand eine durchgängig hohe Qualität hat.

Wollen wir beispielsweise definieren, dass eine Spalte den Defaultwert 99 haben soll, können wir wie folgt vorgehen:

test=# ALTER TABLE t_password ALTER COLUMN gid SET DEFAULT '99';
ALTER TABLE

ALTER COLUMN ist vergleichsweise intelligent und prüft die vorhandenen Daten, bevor ein Constraint definiert werden kann - wollen wir beispielsweise sicherstellen, dass die Spalte shell keine NULL Werte enthalten darf, wird es einen Fehler geben:

test=# ALTER TABLE t_password ALTER COLUMN shell SET NOT NULL;
ERROR:  column "shell" contains null values

Die Spalte enthält noch NULL-Werte und somit ist das Hinzufügen des Constraints nicht möglich.




Cybertec Schönig & Schönig GmbH
PostgreSQL support, training, consulting
www.postgresql-support.de