Есть ли аналог tinyint в PostgresSQL?

В PostgreSQL нет точного аналога типа данных TINYINT, который есть в других СУБД, таких как MySQL. Однако, в PostgreSQL есть несколько подходов, которые можно использовать для создания аналога TINYINT.

Первый подход - использование типа данных SMALLINT. SMALLINT в PostgreSQL занимает 2 байта и имеет диапазон значений от -32,768 до 32,767. Если вам нужны только два возможных значения (0 и 1), вы можете использовать SMALLINT с ограничениями CHECK, чтобы ограничить его диапазон:

CREATE TABLE my_table (
  my_column SMALLINT CHECK (my_column IN (0, 1))
);

Второй подход - использование булевого типа данных BOOLEAN. BOOLEAN в PostgreSQL может принимать только два значения, TRUE или FALSE (1 или 0). Это может быть полезно, если вы ищете простое решение для хранения булевых значений.

CREATE TABLE my_table (
  my_column BOOLEAN
);

Третий подход - использование типа данных BIT. BIT в PostgreSQL позволяет хранить последовательность битов фиксированной длины. Вы можете создать столбец с типом данных BIT(1), чтобы хранить только один бит.

CREATE TABLE my_table (
  my_column BIT(1)
);

Каждый из этих подходов имеет свои особенности и вам следует выбрать тот, который лучше всего соответствует вашим потребностям.