PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

PostgreSQL:schreibgeschützte Tabelle

Ja, es kann schief gehen.

Postgres würde diesen Zustand niemals durch DDL-Befehle zulassen, und sein Verhalten ist jetzt im Grunde undefiniert.

Zum einen wird erwartet, dass jede materialisierte Ansicht eine zugeordnete Definition hat, also pg_dump stürzt jetzt ab und beschwert sich, dass die definition of view "t" appears to be empty (length zero) .

Ihre "materialisierte Ansicht" kann auch Spaltenvorgaben, Beschränkungen, Trigger und viele andere Dinge haben, die über DDL niemals erlaubt wären, was ihre eigenen Probleme verursachen könnte.

Wenn Sie eine Tabelle schreibgeschützt machen möchten, legen Sie die entsprechenden Berechtigungen , oder lehnen Sie alle Änderungen in einem Trigger ab .