1. Введение в PostgreSQL: установка, архитектура и базовые операции с данными
Введение в PostgreSQL: установка, архитектура и базовые операции с данными
Добро пожаловать в курс «PostgreSQL: От основ до профессионального использования». Мы начинаем наше путешествие в мир одной из самых продвинутых и надежных систем управления базами данных (СУБД) в мире. В этой статье мы разберем, что делает PostgreSQL особенным, как он устроен изнутри, установим его на ваш компьютер и выполним первые запросы.
Что такое PostgreSQL и почему он так популярен?
PostgreSQL (часто называют просто Postgres) — это мощная объектно-реляционная система управления базами данных с открытым исходным кодом. Она разрабатывается активным сообществом волонтеров и организаций уже более 35 лет.
Почему разработчики и компании (от стартапов до гигантов вроде Apple и Instagram) выбирают именно её?
Архитектура PostgreSQL
Чтобы эффективно работать с инструментом, нужно понимать, как он устроен «под капотом». PostgreSQL использует клиент-серверную модель.
!Диаграмма архитектуры PostgreSQL: взаимодействие процессов и памяти
Основные компоненты системы
Установка PostgreSQL
Рассмотрим установку на примере самых популярных операционных систем. Для обучения мы будем использовать последнюю стабильную версию (на момент написания курса это 15-я или 16-я версия).
Установка на Ubuntu/Debian
В мире Linux PostgreSQL является стандартом де-факто для серверных баз данных. Установка выполняется через пакетный менеджер.
Установка через Docker (Универсальный способ)
Если вы не хотите засорять систему или используете Windows/macOS и хотите быстро получить работающую базу, Docker — идеальный выбор.
Эта команда скачает образ, запустит контейнер с именем my-postgres, установит пароль mysecretpassword и пробросит порт 5432.
Первое подключение и инструменты
После установки у вас есть два пути взаимодействия с базой:
psql. Это мощный терминальный клиент, который есть везде, где установлен Postgres.Мы начнем с psql, так как это база, которую должен знать каждый профессионал.
В Linux при установке создается системный пользователь postgres. Чтобы войти в консоль базы данных, выполните:
Вы увидите приглашение командной строки, похожее на postgres=#. Это значит, что вы внутри и можете писать SQL-запросы.
Несколько полезных мета-команд psql (они начинаются с обратного слэша):
* \l — список всех баз данных.
* \c dbname — подключиться к базе данных dbname.
* \dt — список таблиц в текущей базе.
* \q — выход из psql.
Базовые операции с данными (CRUD)
CRUD — это акроним от Create, Read, Update, Delete. Это четыре основные операции, которые вы будете выполнять с данными.
Давайте создадим простую систему учета сотрудников для вымышленной IT-компании.
1. Создание базы данных и таблицы (Create)
Сначала создадим отдельную базу данных для наших экспериментов:
Теперь подключимся к ней (если вы в psql):
Создадим таблицу employees. Нам понадобятся поля: уникальный идентификатор, имя, должность, зарплата и дата найма.
Разберем типы данных:
* SERIAL: специальный тип, который автоматически создает уникальное число (автоинкремент). Идеально для ID.
* VARCHAR(100): строка переменной длины, максимум 100 символов.
* NUMERIC(10, 2): число с фиксированной точностью. Означает, что всего может быть 10 цифр, из них 2 — после запятой. Это стандарт для хранения денег.
2. Вставка данных (Insert)
Добавим нескольких сотрудников в нашу таблицу.
Обратите внимание, что мы не указывали id. Благодаря типу SERIAL, PostgreSQL заполнит его сам: 1, 2, 3 и так далее.
3. Чтение данных (Select)
Самая частая операция — выборка данных.
Получить всех сотрудников:
!Пример того, как выглядят данные в таблице employees после вставки
Выбрать только имена и зарплаты тех, кто получает больше 130 000:
4. Обновление данных (Update)
Предположим, Иван Петров получил повышение. Изменим его зарплату.
> Важно: Всегда используйте WHERE при обновлении или удалении, иначе вы измените все строки в таблице!
5. Удаление данных (Delete)
Дмитрий решил покинуть компанию. Удалим запись о нем.
Заключение
Мы рассмотрели фундамент, на котором строится работа с PostgreSQL. Вы узнали, что эта СУБД использует процессную модель для надежности, применяет журнал WAL для защиты данных и предоставляет мощный SQL-интерфейс.
В следующей статье мы углубимся в типы данных, узнаем, почему хранить деньги в FLOAT — плохая идея, и разберем работу с датами и временем, что часто вызывает трудности у новичков.