1 comment

[ 3.3 ms ] story [ 16.5 ms ] thread
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.