Ответ
PostgreSQL — это объектно-реляционная система управления базами данных (ОРСУБД) с открытым исходным кодом.
Ключевые характеристики:
- Реляционная модель: Данные организованы в таблицы со строгой схемой, связями и поддержкой ACID-транзакций.
- Расширяемость и объектные черты: Поддерживает пользовательские типы данных, наследование таблиц, функции и операторы. Это выходит за рамки классических реляционных СУБД.
- Богатая функциональность: Включает поддержку JSON/JSONB (для работы с полуструктурированными данными), полнотекстовый поиск, геопространственные типы (PostGIS), асинхронную репликацию.
Пример создания таблицы с пользовательским типом и JSONB полем:
-- Создаем составной тип
CREATE TYPE address AS (
city TEXT,
street TEXT,
building INTEGER
);
-- Создаем таблицу с использованием типа и JSONB
CREATE TABLE users (
id SERIAL PRIMARY KEY,
name VARCHAR(100) NOT NULL,
home_address address, -- пользовательский тип
profile_data JSONB, -- гибкое JSON-поле
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
);
-- Вставка данных
INSERT INTO users (name, home_address, profile_data)
VALUES (
'Иван Петров',
ROW('Москва', 'Ленина', 10),
'{"hobbies": ["чтение", "бег"], "premium": true}'
);
Таким образом, PostgreSQL сочетает надежность реляционных баз с гибкостью, характерной для NoSQL-решений.