Разница между ограничением NOT NULL и его отсутствием при добавлении в PostgreSQL заключается в том, что при наличии ограничения NOT NULL столбец не может содержать нулевые значения (NULL). 14 Если это ограничение явным образом не указано, то по умолчанию столбец будет допускать значение NULL. 2
Исключением является тот случай, когда столбец выступает в роли первичного ключа — в этом случае по умолчанию столбец имеет значение NOT NULL. 2
Таким образом, если не использовать ограничение NOT NULL, то столбец будет принимать значение NULL по умолчанию, а если использовать, то NULL невозможно будет добавить в данный столбец. 13
Также у ограничения NOT NULL есть обратное — ограничение NULL, которое указывает, что столбец может иметь значение NULL (это поведение по умолчанию). 4