Ограничение NOT NULL в PostgreSQL указывает, что столбец не может содержать нулевые значения (NULL). 14 По умолчанию столбец может содержать значения NULL, но с помощью этого ограничения их невозможно будет добавить в определённый столбец. 1
Ограничение UNIQUE помогает избежать повторения значений в определённом столбце. 1 Например, оно не позволит добавить в таблицу две строки, у которых значения для некоторых столбцов будут совпадать. 3
Таким образом, основное отличие в том, что NOT NULL запрещает нулевые значения в столбце, а UNIQUE гарантирует, что все значения в столбце должны быть разными. 14