Given the following commands:
create table foo(id serial primary key);
insert into foo values (1), (2), (3), (4);
alter table foo add column bar integer not null default 10;
alter table foo alter column bar drop default;
When I execute select * from foo; I get:
id | bar
----+------
1 | 10
2 | 10
3 | 10
4 | 10
How is this possible if starting with postgresql 11+, it evaluates not null defaults lazily?