Разбор темы

Ограничения (constraints) в PostgreSQL объявляются прямо в CREATE TABLE рядом с колонкой: PRIMARY KEY даёт уникальность плюс запрет NULL и автоматически создаёт уникальный индекс, а NOT NULL лишь запрещает пустое значение без требования уникальности. Отдельное внимание к выбору типа для денег: точный десятичный тип (numeric/decimal) хранит суммы без ошибок округления, тогда как float/real — приближённое двоичное представление, из-за которого копейки «плывут». Мысленная модель: имена и порядок колонок берут из условия, а тип каждой колонки выбирают под её смысл. Структуру таблицы удобно смотреть командой \d в psql.

Что проверяется

  1. у products есть PRIMARY KEY
  2. колонка name объявлена NOT NULL
  3. id целое, price numeric

Как это выглядит