Установка и запуск: PostgreSQL, SQLite, онлайн-песочница

Установка и запуск: PostgreSQL, SQLite, онлайн-песочница

В прошлых уроках мы говорили на уровне идей: что такое база данных, как устроена реляционная модель, чем SQL похож и не похож в разных СУБД. Сегодня — самый практический урок модуля. Никаких абстракций: открываем терминал, ставим инструменты, проверяем версии. Цель — чтобы у тебя на компьютере (или хотя бы во вкладке браузера) появилась работающая «лаборатория», в которой со следующего урока мы начнём писать настоящие запросы.

Я не буду заставлять тебя выбирать «правильный» вариант. Я расскажу про три пути и покажу установку каждого. Дальше ты выберешь тот, что подходит твоей ситуации — это нормально, что у разных людей разные стартовые условия.

Какой путь выбрать новичку

Перед установкой полезно понять, какие вообще варианты у нас есть. Их три:

  1. SQLite локально. Минимум настройки, работает «из коробки», файл базы — это просто файл на диске. Идеально, чтобы попробовать SQL без головной боли.
  2. PostgreSQL локально. Настоящая «взрослая» СУБД с сервером. Чуть сложнее в установке, но именно с такими инструментами работают в промышленных проектах.
  3. Онлайн-песочница. Ничего не ставишь — открыл вкладку и пишешь. Удобно, если ты на чужом ноутбуке, на корпоративной машине без прав администратора, или просто хочешь быстро проверить идею.

Если короткое правило для новичка: поставь SQLite + держи в закладках одну онлайн-песочницу. Этого хватит на весь курс. PostgreSQL добавь позже, когда захочешь приблизиться к боевым условиям. Ниже разберём каждый вариант подробно.

SQLite: самый простой старт

SQLite — это, по сути, библиотека и маленькая утилита sqlite3. Никакого «сервера» запускать не нужно, никаких портов, никаких пользователей. Ты просто говоришь утилите «вот файл» — и она читает или пишет в него. Если файла нет, SQLite его создаст. Это и плюс, и минус: плюс — простота; минус — SQLite не подходит для ситуаций, где к одной базе одновременно ломятся десятки приложений по сети.

Для обучения это идеальный инструмент. Ты буквально работаешь с одним файлом вида mydb.db и можешь его удалить, если что-то сломал. Никаких следов в системе.

Установка

На macOS утилита sqlite3 уже есть в системе, но версия там старая. Поставим свежую через Homebrew. На Ubuntu/Debian — через apt. На Windows — скачаем готовый набор инструментов с официального сайта.

# macOS (через Homebrew)
brew install sqlite

# Ubuntu / Debian / WSL
sudo apt update
sudo apt install sqlite3

# Проверка версии (на любой ОС)
sqlite3 --version

Для Windows официальные сборки лежат на странице загрузок: https://sqlite.org/download.html — раздел «Precompiled Binaries for Windows». Нужен архив вида sqlite-tools-win-x64-*.zip. Распакуй его в любую папку (например, C:\sqlite) и добавь эту папку в переменную окружения PATH, чтобы команда sqlite3 работала из любого места в командной строке. Подробности про PATH — чуть ниже, в разделе «Типичные проблемы».

После установки в терминале набери sqlite3 --version. В ответ ты должен увидеть строку вроде 3.46.1 2024-08-13 .... Если увидел номер версии — поздравляю, у тебя уже есть рабочая СУБД. Запускать запросы пока не будем — это в следующем уроке.

Проверь себя: ты ввёл sqlite3 --version, и терминал ответил command not found. Что это значит? — Это значит, что либо утилита не установлена, либо установлена, но папка с ней не прописана в PATH. Проблема не в SQLite как таковом, а в том, что система не знает, где её искать.

PostgreSQL: «взрослый» сервер

PostgreSQL — другая история. Это полноценный сервер: отдельный процесс, который слушает сетевой порт (по умолчанию 5432), управляет пользователями, правами и одновременным доступом многих клиентов. Ты не открываешь файл напрямую — ты подключаешься к серверу, а он уже сам разбирается со своими файлами. Это надёжнее и мощнее, но требует чуть больше понимания.

Для PostgreSQL нужны две вещи: сам сервер (он работает в фоне) и клиентская утилита psql, через которую с ним общаются из терминала. Обычно они ставятся вместе.

Способы установки

Их несколько — выбирай по вкусу:

  • Официальный установщик (рекомендуется для Windows и macOS, если не любишь терминал): https://www.postgresql.org/download/. Там есть установщик от EDB — графический мастер, ставит сервер, psql и приложение pgAdmin для работы мышкой.
  • Postgres.app (только macOS): https://postgresapp.com/. Это «PostgreSQL в виде .app-файла» — перетащил в Applications, запустил, готово. Удобно, если не хочется возиться с сервисами.
  • Homebrew (macOS, Linux): один из самых быстрых способов на Mac.
  • Пакеты дистрибутива (apt, dnf): стандартный путь на Linux-серверах.
  • Docker: запустить PostgreSQL в контейнере одной командой. Подходит, если у тебя уже стоит Docker и не хочется ставить сервер «в систему». Для новичка — необязательный вариант.

Команды установки

# macOS (через Homebrew) — ставим версию 16
brew install postgresql@16
brew services start postgresql@16

# Ubuntu / Debian
sudo apt update
sudo apt install postgresql

# Проверка клиента (на любой ОС)
psql --version

На Windows проще всего пройти по ссылке https://www.postgresql.org/download/windows/ и запустить установщик от EDB. Мастер спросит пароль для системного пользователя postgres (запиши его — пригодится) и порт (оставь 5432, если он свободен). После установки psql появится в меню «Пуск» и в PATH.

Команда psql --version должна показать что-то вроде psql (PostgreSQL) 16.4. Это означает, что клиент установлен. Отдельно стоит убедиться, что сервер запущен — на macOS с Homebrew за это отвечает brew services start postgresql@16, на Ubuntu сервис обычно поднимается автоматически, на Windows установщик регистрирует службу Windows. Если служба не стартует — снова смотри раздел «Типичные проблемы».

Проверь себя: в чём разница между sqlite3 и psql? — sqlite3 — это и утилита, и сама СУБД в одном лице: ей не нужен сервер. psql — это только клиент, который сам по себе ничего не хранит; ему обязательно нужен запущенный PostgreSQL-сервер где-то рядом (на твоей машине или на удалённой).

Онлайн-песочницы: SQL без установки

Если ставить ничего не хочется — это абсолютно нормальный путь, особенно на старте. Онлайн-песочница это сайт, где есть текстовое поле для запроса, кнопка «выполнить» и таблица с результатом. Ты не возишься с установкой и можешь учиться даже с планшета.

Плюсы: ноль настройки, работает в браузере, легко делиться ссылкой на свой пример. Минусы: интернет обязателен, файл «своей» базы у тебя не остаётся, а сам сайт может измениться или закрыться. Поэтому я бы не делал онлайн-песочницу единственным инструментом — но как дополнение к локальной установке она очень полезна.

Три рабочих варианта:

  • https://sqlime.org/ — простая песочница для SQLite прямо в браузере (работает на WebAssembly-сборке SQLite). Хороша тем, что использует тот же диалект, что и локальный SQLite.
  • https://dbfiddle.uk/ — поддерживает много СУБД, включая разные версии PostgreSQL и SQLite. Удобно сравнивать диалекты — мы говорили об этом в уроке 1-3.
  • https://www.db-fiddle.com/ — ещё одна популярная песочница с PostgreSQL, MySQL, SQLite. Похожа по идее на предыдущую.

Для курса не нужно выбирать «лучшую» — открой одну, которая быстрее загрузилась, и запомни её адрес.

Что выбрать конкретно для этого курса

Моя рекомендация:

  • Основной инструмент: SQLite локально. Поставил, проверил sqlite3 --version, готово. Все упражнения курса можно сделать на нём.
  • Запасной инструмент: онлайн-песочница (например, https://sqlime.org/ или https://dbfiddle.uk/). Полезно, когда ты не за своим компьютером или хочешь быстро поделиться примером с однокурсником.
  • PostgreSQL — по желанию. Если ты планируешь работать с базами данных в проде, имеет смысл поставить и его, чтобы привыкать к диалекту PostgreSQL и к идее клиент-серверной архитектуры. Но это не обязательное условие первых уроков.

Если ты прямо сейчас в тупике с установкой — открой онлайн-песочницу и продолжай курс. Установку можно догнать позже, главное — не застрять на ней.

Типичные проблемы при установке

Опытные разработчики тоже спотыкаются на одних и тех же местах. Вот три самых частых:

1. «command not found или утилита не запускается». Скорее всего, дело в PATH. Это переменная окружения, в которой перечислены папки, где система ищет исполняемые файлы. Если ты распаковал sqlite3.exe в C:\sqlite, но не добавил эту папку в PATH, Windows не найдёт команду. На macOS и Linux Homebrew и apt обычно настраивают PATH автоматически. Если нет — проверь инструкции по итогам установки: Homebrew часто просит выполнить дополнительную команду, чтобы добавить себя в PATH.

2. «Нет прав / permission denied». На Linux установка системных пакетов требует sudo — мы уже видели это в командах sudo apt install. На macOS и Windows важно ставить инструменты от своего пользователя, а не «расшаривать» базу на весь компьютер. Если установщик PostgreSQL для Windows ругается — запусти его «от имени администратора».

3. «Порт 5432 занят». PostgreSQL по умолчанию слушает порт 5432. Если этот порт уже занят (например, ты запустил два инстанса Postgres или у тебя установлен другой сервис на этом порту), сервер не стартует. Решения два: остановить «лишний» процесс или поставить PostgreSQL на другой порт через настройки. Для учебных задач достаточно убедиться, что других PostgreSQL на машине нет, и порт свободен.

Если что-то совсем не получается — не страдай в одиночку. Сообщение об ошибке гугли дословно: 9 из 10 проблем установки уже описаны на Stack Overflow или в issue-трекерах самих СУБД.

Краткий итог

  • Есть три пути попробовать SQL: SQLite локально, PostgreSQL локально, онлайн-песочница.
  • SQLite — самый простой старт: один файл, никакой настройки, ставится одной командой через brew install sqlite или sudo apt install sqlite3.
  • PostgreSQL — это сервер плюс клиент psql. Ставится через официальный установщик, Postgres.app, Homebrew или apt.
  • Онлайн-песочницы (sqlime.org, dbfiddle.uk, db-fiddle.com) дают возможность писать SQL вообще без установки.
  • Для этого курса достаточно SQLite + любой онлайн-песочницы. PostgreSQL — по желанию, на будущее.
  • Главные источники истины: https://www.postgresql.org/download/ и https://sqlite.org/download.html — никогда не качай СУБД из случайных мест.

В следующем уроке мы наконец-то запустим инструмент, проверим, что он отвечает, и сделаем самый первый запрос к базе. Подготовь терминал — он нам понадобится.

Попробуйте интерактивную версию

Практические задачи, квизы и AI-наставник — бесплатный старт без карты

Перейти к практике