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