'nen Überblick über Constraints unter Postgres findest Du hier
Documentation → PostgreSQL 16
Viele Constrains sind datenbankseitig schlichte Einzeiler.
Das bekommst Du (höchstwahrscheinlich / vermutlich) mit keiner Programmiersprache der Welt ähnlich kurz implementiert.
Das
Zitat von
ggscholz:
Aber auf jeden Fall erstmal aufwendiger.
trifft von daher eher nur dann zu, wenn man die datenbankseitige Lösung erst später in die Datenbank einbaut, statt sie beim Design der Datenbank von vorneherein mit einzuplanen und umzusetzen.