Какие типы данных лучше не использовать в PostgreSQL

«Какие типы данных лучше не использовать в PostgreSQL» — вопрос из категории Базы данных, который задают на 27% собеседований Системный Аналитик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В PostgreSQL лучше избегать:

  1. money - Локализация проблематична, лучше использовать numeric/decimal.
  2. char(n) - Фиксированная длина, дополняется пробелами. Практичнее varchar/text.
  3. serial - Устаревший, используйте identity (PostgreSQL 10+).
  4. timestamp without timezone - Риск потери информации о временной зоне.
  5. bit(n)/bit varying(n) - Сложны в использовании, обычно заменяются на boolean или числовые типы.

Пример проблемного money:

-- Нежелательно
CREATE TABLE orders (
    price money
);

-- Лучше
CREATE TABLE orders (
    price numeric(10,2)
);