В прошлом уроке мы выяснили, что PostgreSQL это сервер, который ждёт клиентов. Сегодня запускаем такой сервер у себя и подключаемся к нему. Для подключения клиенту нужно знать пять вещей, и к концу урока ты будешь узнавать их с первого взгляда в любой строке настроек.
Почта до востребования
Чтобы получить посылку на почте, нужно прийти по нужному адресу, к нужному окошку, назвать своё имя и показать паспорт. Ещё нужно сказать, какую посылку ты хочешь. Подключение к PostgreSQL устроено так же:
| На почте | В PostgreSQL | Пример |
|---|---|---|
| адрес отделения | хост | localhost |
| номер окошка | порт | 5432 |
| имя получателя | пользователь (роль) | postgres |
| паспорт | пароль | secret |
| какая посылка | база данных | bookshop |
Если хоть что-то из пяти неверно, посылку не выдадут. Ниже мы специально ошибёмся в каждом пункте и посмотрим, что ответит сервер.
Способ первый: Docker
Самый быстрый способ получить PostgreSQL на любой системе это Docker. Не нужно ничего ставить в систему, а удалить базу можно одной командой. Если Docker у тебя уже есть, запусти:
docker run --name pg \
-e POSTGRES_PASSWORD=secret \
-p 5432:5432 \
-v pgdata:/var/lib/postgresql \
-d postgres:18
Разберём по строкам:
--name pgдаёт контейнеру имя, чтобы потом обращаться к нему по-человечески.-e POSTGRES_PASSWORD=secretзадаёт пароль главного пользователяpostgres. Без него контейнер не запустится.-p 5432:5432открывает порт: соединения на порт 5432 твоего компьютера попадут в контейнер.-v pgdata:/var/lib/postgresqlсохраняет данные в томеpgdata. Без тома данные живут внутри контейнера и пропадут вместе с ним.-d postgres:18запускает образ PostgreSQL 18 в фоне.
Через пару секунд сервер готов. Внутри контейнера уже есть консольный клиент psql, им и подключимся:
docker exec -it pg psql -U postgres
psql (18.6 (Debian 18.6-1.pgdg13+2))
Type "help" for help.
postgres=#
Строка postgres=# это приглашение psql: он ждёт команд. Слово перед =# это имя базы, к которой ты подключён. Выйти можно командой \q.
Способ второй: пакет для системы
Если Docker не хочется, PostgreSQL ставят как обычную программу:
- macOS. Приложение Postgres.app: скачал, перетащил в «Программы», нажал Start. Или через Homebrew:
brew install postgresql@18. - Ubuntu и Debian.
sudo apt install postgresqlставит версию из репозитория системы. Свежую версию берут из официального репозитория PostgreSQL, инструкция на странице загрузки. - Windows. Установщик с сайта postgresql.org. Он попросит придумать пароль для пользователя
postgres: запиши его.
После установки сервер обычно запускается сам и слушает порт 5432.
При установке из пакета на Linux в системе появляется пользователь ОС с именем postgres. В первый раз подключаются от его имени:
sudo -u postgres psql
Пароль здесь не спрашивают. Сервер видит, что подключение пришло с этого же компьютера от пользователя ОС postgres, и пускает его под ролью с тем же именем. Такой способ проверки называется peer.
урок из курса
Урок из курса «PostgreSQL с нуля». Курс покупается один раз и остаётся навсегда: 500 ₽.
Оплата пока не подключена: премиум и курсы открываются промокодом.