The relevant bit from your first link: &quot;postgres will update the table structure and there is no locking <i>unless you do something that needs to alter existing rows.</i>&quot;<p>So, altering a column (e.g. adding a default) will trigger the problem. Adding a new column or table will not.