Проект

Общее

Профиль

Типы данных в PostgreSQL

Добавил(а) Михаил Губин 3 месяца назад

PostgreSQL — это объектно-реляционная система управления базами данных (СУБД), которая поддерживает широкий спектр типов данных. В этой статье мы рассмотрим различные типы данных, поддерживаемые PostgreSQL, и приведём примеры их использования.

Числовые типы данных

PostgreSQL поддерживает несколько числовых типов данных, включая целые числа, числа с плавающей точкой и числа с фиксированной точкой. Вот некоторые из них:

-- Целое число без знака
CREATE TABLE integers (
    id SERIAL PRIMARY KEY,
    value INTEGER NOT NULL
);

-- Целое число со знаком
CREATE TABLE signed_integers (
    id SERIAL PRIMARY KEY,
    value SMALLINT NOT NULL
);

-- Число с плавающей точкой
CREATE TABLE floats (
    id SERIAL PRIMARY KEY,
    value FLOAT NOT NULL
);

-- Число с фиксированной точкой
CREATE TABLE fixed_point (
    id SERIAL PRIMARY KEY,
    value DECIMAL(10,2) NOT NULL
);

Символьные типы данных

PostgreSQL также поддерживает символьные типы данных для хранения строк текста. Вот некоторые из них:

-- Строка фиксированной длины
CREATE TABLE fixed_length_strings (
    id SERIAL PRIMARY KEY,
    value CHAR(10) NOT NULL
);

-- Строка переменной длины
CREATE TABLE variable_length_strings (
    id SERIAL PRIMARY KEY,
    value VARCHAR(100) NOT NULL
);

-- Пустая строка
CREATE TABLE empty_strings (
    id SERIAL PRIMARY KEY,
    value TEXT NOT NULL
);

-- Символ
CREATE TABLE characters (
    id SERIAL PRIMARY KEY,
    value CHARACTER(1) NOT NULL
);

-- Биннарный объект
CREATE TABLE binary_objects (
    id SERIAL PRIMARY KEY,
    value BYTEA NOT NULL
);

-- Уникод
CREATE TABLE unicode_strings (
    id SERIAL PRIMARY KEY,
    value UNICODE NOT NULL
);

Дата и время

PostgreSQL предоставляет несколько типов данных для работы с датами и временем:

-- Дата
CREATE TABLE dates (
    id SERIAL PRIMARY KEY,
    value DATE NOT NULL
);

-- Время
CREATE TABLE times (
    id SERIAL PRIMARY KEY,
    value TIME NOT NULL
);

-- Дата и время
CREATE TABLE datetimes (
    id SERIAL PRIMARY KEY,
    value TIMESTAMP NOT NULL
);

-- Интервал времени
CREATE TABLE time_intervals (
    id SERIAL PRIMARY KEY,
    value INTERVAL NOT NULL
);

-- Позиционное время
CREATE TABLE timestamps_with_timezone (
    id SERIAL PRIMARY KEY,
    value TIME WITH TIME ZONE NOT NULL
);

-- Таймстемпы с поддержкой микросекунд
CREATE TABLE timestamps_with_microseconds (
    id SERIAL PRIMARY KEY,
    value TIMESTAMP WITH TIME ZONE NOT NULL
);

Битовые типы данных

Помимо стандартных числовых и символьных типов данных, PostgreSQL также поддерживает битовые типы данных:

-- Битовый вектор
CREATE TABLE bit_vectors (
    id SERIAL PRIMARY KEY,
    value BIT VECTOR NOT NULL
);

-- Битовая строка
CREATE TABLE bit_strings (
    id SERIAL PRIMARY KEY,
    value BIT STRING NOT NULL
);

Геометрические типы данных

PostgreSQL также поддерживает геометрические типы данных для работы с пространственными данными:

-- Точка
CREATE TABLE points (
    id SERIAL PRIMARY KEY,
    value POINT NOT NULL
);

-- Линия
CREATE TABLE lines (
    id SERIAL PRIMARY KEY,
    value LINE NOT NULL
);

-- Полигон
CREATE TABLE polygons (
    id SERIAL PRIMARY KEY,
    value POLYGON NOT NULL
);

Типы данных JSON

PostgreSQL также поддерживает типы данных JSON для работы с структурированными данными:

-- JSON документ
CREATE TABLE json_documents (
    id SERIAL PRIMARY KEY,
    value JSON NOT NULL
);

-- JSON массив
CREATE TABLE json_arrays (
    id SERIAL PRIMARY KEY,
    value JSON ARRAY NOT NULL
);

Другие типы данных

Помимо вышеперечисленных типов данных, PostgreSQL также поддерживает множество других типов данных, таких как массивы, UUID, деньги, идентификаторы и так далее.


Комментарии