When you run ALTER TABLE test DROP COLUMN c Postgres doesn't actually go and remove the column from every row in the table. This can lead to counter intuitive behaviors like running into the 1600 column limit with a table that appears to have only 2 columns.
I explored a bit what dropping columns actually does (mark the column as dropped in the catalog), what VACUUM FULL cleans up, and why we are still (probably) compliant with the GDPR.
gwen-shapira•2h ago
I explored a bit what dropping columns actually does (mark the column as dropped in the catalog), what VACUUM FULL cleans up, and why we are still (probably) compliant with the GDPR.