Can I stop DROP COLUMN from succeeding on particular tables in PostgreSQL 9 or 10 or later?
My application makes some assumptions about columns being forever, not disappearing. I'm afraid of later programmers forgetting about this constraint.
I know triggers can fire to control INSERT, MODIFY, and DELETE of rows. But what about DDL? Can I protect against certain changes to the table structure?
Security might be one way, assigning permissions to users and roles. But these future programmers will be allowed to add columns, only dropping columns is forbidden.
I am not concerned about malicious activity. I'm defending against the eager-beavers who may move too fast to remember the bigger picture.