Установка и подключение к базе

Ставим сервер PostgreSQL и подключаемся к нему первым клиентом.

Сервер PostgreSQL — это фоновый процесс, который управляет базами данных и отвечает на запросы клиентов, подключающихся к нему по сети или локально.

Сервер, кластер, база, роль

Прежде чем устанавливать, разберёмся в терминах — без них легко запутаться.

  • Сервер (instance) — запущенный процесс PostgreSQL, слушающий порт (по умолчанию 5432).
  • Кластер — набор баз данных, которыми управляет один сервер. Слово «кластер» здесь не про несколько машин, а про каталог с данными на диске.
  • База данных (database) — изолированное хранилище таблиц. Внутри одного кластера их может быть много.
  • Роль (role) — пользователь или группа. Под ролью вы подключаетесь и получаете права.

Установка

Способ зависит от операционной системы. На Linux обычно ставят из пакетного менеджера, на macOS удобно через Homebrew, на Windows — официальным установщиком с сайта.

# Ubuntu / Debian
sudo apt update
sudo apt install postgresql postgresql-contrib

# macOS (Homebrew)
brew install postgresql@16
brew services start postgresql@16

# Проверить версию сервера
postgres --version

После установки в Linux автоматически создаётся системный пользователь и роль postgres — это суперпользователь базы. Многие команды на старте выполняют от его имени.

Подключение через psql

psql — стандартный консольный клиент. Подключиться можно, передав параметры по отдельности или одной строкой подключения.

# По отдельным параметрам: хост, порт, пользователь, база
psql -h localhost -p 5432 -U postgres -d postgres

# Часто на локальной машине достаточно короткой формы
psql -U postgres

# Войти под системным пользователем postgres (Linux)
sudo -u postgres psql

После подключения приглашение меняется на имя базы, например postgres=#. Знак # означает суперпользователя, > — обычную роль.

Строка подключения (connection URI)

Приложения чаще передают параметры одной строкой. Её формат стоит запомнить — он встречается в любой среде.

# Общий вид:
# postgresql://ПОЛЬЗОВАТЕЛЬ:ПАРОЛЬ@ХОСТ:ПОРТ/БАЗА
psql "postgresql://app_user:secret@localhost:5432/shop"
ЧастьЗначение
app_userроль (пользователь)
secretпароль
localhost:5432хост и порт сервера
shopимя базы данных

Проверка соединения

Самый быстрый способ убедиться, что всё работает, — выполнить простой запрос. В psql наберите:

SELECT version();

Команда вернёт строку с версией сервера и платформой. Если вы её видите — сервер запущен, и вы к нему подключены.

Итог

  • Сервер управляет кластером, внутри которого живут базы данных; подключаетесь вы под ролью.
  • Порт по умолчанию — 5432, суперпользователь по умолчанию — postgres.
  • Подключиться можно отдельными флагами psql или строкой postgresql://....
Проверьте себя
1. Какой порт PostgreSQL слушает по умолчанию?
A3306
B5432
C8080
D1521
2. Что такое «роль» в PostgreSQL?
AРезервная копия базы
BПользователь или группа, под которой подключаются и получают права
CТип индекса
DКаталог с файлами данных
3. Что описывает строка postgresql://app_user:secret@localhost:5432/shop?
AТолько имя базы данных
BПараметры подключения: пользователь, пароль, хост, порт и базу
CSQL-запрос
DПуть к файлу резервной копии
Поддержать проект