3 сентября 20265 мин чтения
PostgreSQL на Windows без инсталлятора: запуск из ZIP
Как запустить PostgreSQL на Windows из ZIP-архива: подготовить папку данных, запустить сервер и подключиться к локальной базе для разработки.
Евгений Васёв
Автор гайда
---
Windows
1. Скачай архив с PostgreSQL
Перейди на официальную страницу загрузки и скачай zip-архив с бинарниками.
Способ — через сайт:
- Открой браузер
- Перейди на https://get.enterprisedb.com/postgresql/postgresql-17.2-1-windows-x64-binaries.zip
- Скачай zip-файл
Важно: Нам нужен именно zip-архив, а не
.exe-инсталлятор. На этой странице — только архивы.
---
2. Распакуй архив в рабочую папку
Создай папку проекта и распакуй туда скачанный архив.
- Создай папку
C:\projects\postgres(либо ваша директория с проектом) - Внутри неё создай папку
downloads\pg17 - Распакуй скачанный zip-архив в
C:\projects\postgres\downloads\pg17
После распаковки структура должна выглядеть так:
C:\projects\postgres\
└── downloads\
└── pg17\
└── pgsql\
├── bin\ ← исполняемые файлы
├── lib\ ← библиотеки
├── share\ ← конфигурации и расширения
└── ...
Убедись, что внутри
pgsql\bin\есть файлыinitdb.exe,pg_ctl.exeиpsql.exe— это ключевые программы.
---
3. Открой терминал
Нам понадобится командная строка для всех дальнейших шагов.
Способ 1 — через поиск (самый быстрый):
- Нажми Win
- Напиши
cmdилиPowerShell - Нажми Enter
Способ 2 — через меню:
- Нажми правой кнопкой мыши на Пуск
- Выбери Терминал (или Windows PowerShell)
Все команды ниже одинаково работают и в cmd, и в PowerShell.
---
4. Создай папки для данных и логов
PostgreSQL хранит все данные в отдельной папке. Создадим её, а заодно и папку для логов.
mkdir C:\projects\postgres\data
mkdir C:\projects\postgres\logs
После выполнения у тебя появятся две пустые папки:
data— сюда PostgreSQL запишет все файлы базы данныхlogs— сюда будет писаться лог сервера
---
5. Инициализируй базу данных
Этот шаг создаёт начальную структуру базы данных внутри папки data.
C:\projects\postgres\downloads\pg17\pgsql\bin\initdb.exe -D C:\projects\postgres\data -U postgres -E UTF8 --locale=C
Разберём параметры:
| Параметр | Что делает |
|---|---|
-D ... | Путь к папке с данными |
-U postgres | Имя суперпользователя базы |
-E UTF8 | Кодировка базы данных |
--locale=C | Нейтральная локаль (избегает проблем с сортировкой) |
В конце вывода ты увидишь сообщение вроде «Готово» или «Success». Это значит, что кластер базы создан.
Важно: Команда создаст базу с аутентификацией
trust— это значит, подключиться может кто угодно с этого же компьютера без пароля. Для локальной разработки это нормально. Для продакшена — нет.
---
6. Запусти сервер PostgreSQL
Теперь запустим сам сервер базы данных.
C:\projects\postgres\downloads\pg17\pgsql\bin\pg_ctl.exe -D C:\projects\postgres\data -l C:\projects\postgres\logs\postgresql.log -o "-p 5433 -h localhost" start
Разберём параметры:
| Параметр | Что делает |
|---|---|
-D ... | Путь к данным (тот же, что при initdb) |
-l ... | Путь к файлу лога |
-o "-p 5433 -h localhost" | Порт 5433 и только локальные подключения |
Мы используем порт 5433 вместо стандартного 5432, чтобы не конфликтовать с другой копией PostgreSQL, если она уже установлена в системе. Если конфликта нет, можно использовать
5432.
Ты должен увидеть сообщение:
сервер запущен
или на английской системе:
server started
Если видишь ошибку — проверь лог:
```
type C:\projects\postgres\logs\postgresql.log
```
---
7. Проверь подключение
Подключимся к базе и выполним тестовый запрос.
C:\projects\postgres\downloads\pg17\pgsql\bin\psql.exe -h localhost -p 5433 -U postgres -c "SELECT version();"
Ты должен увидеть что-то вроде:
version
-------------------------------------------------------------------------
PostgreSQL 17.2 on x86_64-windows, compiled by msvc-19.41.34123, 64-bit
(1 row)
Если версия отобразилась — всё работает.
---
8. Подключись к интерактивной консоли (необязательно)
Чтобы вручную выполнять SQL-запросы, можно зайти в интерактивный режим psql:
C:\projects\postgres\downloads\pg17\pgsql\bin\psql.exe -h localhost -p 5433 -U postgres
После подключения ты увидишь приглашение:
postgres=#
Попробуй выполнить любую команду, например:
SELECT current_date;
Как выйти из psql?
Напиши \q и нажми Enter, или нажми Ctrl + D.
---
Управление сервером
После настройки тебе понадобятся три команды для управления:
Остановить сервер:
C:\projects\postgres\downloads\pg17\pgsql\bin\pg_ctl.exe -D C:\projects\postgres\data stop
Запустить сервер:
C:\projects\postgres\downloads\pg17\pgsql\bin\pg_ctl.exe -D C:\projects\postgres\data -l C:\projects\postgres\logs\postgresql.log -o "-p 5433 -h localhost" start
Проверить статус сервера:
C:\projects\postgres\downloads\pg17\pgsql\bin\pg_ctl.exe -D C:\projects\postgres\data status
Важно: Сервер работает, пока ты его не остановишь, или пока не перезагрузишь компьютер. После перезагрузки нужно запустить его снова командой выше.
---
Частые проблемы
Порт уже занят:
Если при запуске видишь ошибку
could not bind to address, значит порт 5433 уже используется. Попробуй другой порт, например 5434:
```
C:\projects\postgres\downloads\pg17\pgsql\bin\pg_ctl.exe -D C:\projects\postgres\data -l C:\projects\postgres\logs\postgresql.log -o "-p 5434 -h localhost" start
```
Папка data уже существует и не пуста:
Если
initdbвыдаёт ошибку, что папка не пуста — значит инициализация уже была выполнена ранее. Если хочешь начать с нуля, удали содержимое папкиdataи запустиinitdbснова.
Сервер не запускается, нет внятной ошибки:
Проверь лог-файл — там всегда есть подробности:
```
type C:\projects\postgres\logs\postgresql.log
```
psql: ошибка подключения / connection refused:
Убедись, что сервер запущен (
pg_ctl status) и что указан правильный порт (-p 5433).
---
Итоговая структура проекта
C:\projects\postgres\
├── data\ ← данные базы (создаётся initdb)
├── logs\ ← логи сервера
│ └── postgresql.log
├── downloads\
│ └── pg17\
│ └── pgsql\
│ └── bin\ ← бинарники PostgreSQL
└── INSTRUCTION.md ← этот файл
---
Параметры подключения
| Параметр | Значение |
|---|---|
| Хост | localhost |
| Порт | 5433 |
| Пользователь | postgres |
| Пароль | (не требуется) |
| База данных | postgres |
Эти параметры понадобятся при подключении из приложений, IDE (например, DataGrip, DBeaver) или библиотек (например, psycopg2, node-postgres).
---
Готово!
У тебя развёрнута портативная копия PostgreSQL 17, которая:
- Не требует установки и прав администратора
- Полностью живёт в одной папке
C:\projects\postgres - Не вносит изменений в реестр и системные сервисы
- Легко удаляется — просто удали папку
Интенсив Boost
Освой нейросети и собери первую автоматизацию на реальной рабочей задаче
На Boost за неделю ты научишься автоматизировать рабочие процессы и вайбкодить нужные тебе инструменты, чтобы быть востребованным специалистом
Ближайший поток стартует 6 ноября.

- Формат
- 6 живых воркшопов
- Ведёт
- Ваня Замесин
- Уровень
- Можно с нуля
- Результат
- Автоматизация
Вани Замесина
Анонсы вебинаров и новых курсов в телеграм-боте
Смежное по задаче
Как установить Cursor на Mac: инструкция для macOS
Как скачать Cursor AI на Mac, установить редактор и открыть первый проект. Короткая инструкция для тех, кто начинает писать код с ИИ.
ЧитатьКак установить Cursor AI на Windows
Как скачать и установить Cursor AI на Windows, запустить редактор и открыть папку проекта. Пошаговая инструкция для первого запуска.
ЧитатьКак установить Claude Code на Windows
Установка Claude Code на Windows: PowerShell, Git, настройка PATH и первый запуск. Разберём, что делать, если команда claude не находится.
Читать