JavaRush /Курсы /SQL SELF /Установка PostgreSQL: пошаговое руководство для Windows, ...

Установка PostgreSQL: пошаговое руководство для Windows, macOS, Linux

SQL SELF
4 уровень , 0 лекция
Открыта

Введение

Надеюсь вам понравился SQL и вы настроены на серьезную работу. Пришло время узнать, а что же это за PostgreSQL такой и установить его к себе на компьютер. Так вы лучше изучите все нюансы работы с PostgreSQL, найдете все подводные камни и набьете немало шишек. Таков путь 😎

СУБД PostgreSQL (часто сокращают как Postgres) — это мощная, масштабируемая и сверхнадежная реляционная СУБД с открытым исходным кодом. Она появилась давным-давно, в 1986 году, как исследовательский проект Калифорнийского университета в Беркли. И вот уже несколько десятилетий PostgreSQL радует разработчиков своей надежностью, гибкостью и мощными возможностями 🥰

Вот несколько причин, почему PostgreSQL обожают разработчики и компании по всему миру:

  • Поддержка ACID: PostgreSQL соблюдает принципы атомарности, согласованности, изоляции и долговечности (ACID), что делает её незаменимой для работы с важными данными.
  • Расширяемость: вы можете добавлять свои собственные функции, типы данных и даже индексы.
  • JSONB: встроенная поддержка работы с JSON, что делает её мощным инструментом для современных веб-приложений.
  • Открытый исходный код: активно поддерживается сообществом и различными организациями. Без скрытых платежей и лицензий.
  • Масштабируемость: PostgreSQL подходит как для небольших проектов, так и для огромных корпоративных систем.

В отличие от той же MySQL, PostgreSQL идёт в ногу со временем. Она вобрала в себя некоторые крутые фишки NoSQL-систем, но при этом сохранила все преимущества реляционных баз данных. А если учесть, что она еще и бесплатная, то вы её точно полюбите ❤️

Установка PostgreSQL

Неправильная установка PostgreSQL чревата множеством трудностей: сервер не стартует, клиенты не подключаются, а вы — вместо создания базы данных, — заполняете поисковую строку Google запросами вроде «Почему PostgreSQL не запускается на Linux?» Следуя моему пошаговому руководству, вы избавите себя от подобных проблем и войдёте в мир PostgreSQL-экспертов без проблем.

Установка PostgreSQL на Windows

  1. Скачивание установочного файла

    • Зайдите на официальный сайт PostgreSQL.
    • Выберите платформу Windows. Кликните по ссылке "Download the installer certified by EDB" для скачивания.
    • Загружаем последний дистрибутив PostgreSQL (в нашем случае это версия 17.5)
  2. Запуск установщика

    • Запустите загруженный .exe-файл.
    • Выберите язык путь к папке установки (рекомендуется оставить как есть).
  3. Выбор компонентов

    • Оставьте всё по умолчанию: сервер PostgreSQL, pgAdmin, Stack Builder (если не знаете, что это, переживать не надо).
    • Убедитесь, что путь установки каталога данных удобен и доступен. Например: C:\Program Files\PostgreSQL\17.
  4. Настройка порта и пароля

    • Установите пароль для пользователя postgres. Это главный пользователь базы, так что запомните пароль или запишите его (да, мы все знаем про бумажки).
    • Укажите порт для сервера (обычно это 5432). Если этот порт уже занят, выберите другой (5433, 5434 и так далее).
  5. Настройка локали и начало установки

    • Затем вам будет предложено указать локаль базы данных. Лучше оставить ее по умолчанию
    • И теперь PostgreSQL наконец-то готов к установке на ваш компьютер с Windows.
  6. Finish

    Ближе к самому концу процесса установки вам будет предложено запустить StackBuilder. Вы можете снять отметку и нажать «Finish». Поздравляю, вы установили PostgreSQL! 🎉 Сервер PostgreSQL должен автоматически запуститься в фоновом режиме.

    StackBuilder — это утилита, которая поставляется вместе с установщиком PostgreSQL от EDB (EnterpriseDB). Она предназначена для загрузки и установки дополнительных инструментов, драйверов и приложений, которые дополняют вашу установку PostgreSQL.

  7. Проверка установки

    • Откройте командную строку (cmd) и выполните:

      psql -U postgres
      

      Введите пароль, который вы указали при установке. Если подключение успешно, поздравляю: вы на связи с сервером!

Установка PostgreSQL на macOS

Если вы фанат работы с macOS, PostgreSQL, для установки можно использовать Homebrew (это самый удобный способ для macOS).

  1. Проверка наличия Homebrew

    Откройте терминал и выполните:

    brew --version
    

    Если Homebrew установлен, версия отобразится. Если нет, исправьте это, введя:

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    
  2. Установка PostgreSQL

    Курс зафиксирован на PostgreSQL 17 — ставим именно её формулу:

    brew install postgresql@17
    
  3. Запуск сервера

    После установки запустите сервер PostgreSQL с помощью команды:

    brew services start postgresql@17
    
  4. Создание суперпользователя postgres

    Homebrew по умолчанию не создаёт пользователя postgres — суперпользователем сразу становится ваш macOS-аккаунт. Поэтому psql -U postgres «из коробки» падает с FATAL: role "postgres" does not exist. Создаём роль руками:

    createuser -s postgres
    
  5. Проверка установки

    Убедитесь, что сервер работает:

    psql -U postgres
    
  6. Настройка порта (опционально)

    PostgreSQL на macOS обычно использует порт 5432 по умолчанию. Если требуется изменить порт, отредактируйте файл конфигурации (путь зависит от чипа):

    # Intel Mac:
    nano /usr/local/var/postgresql@17/postgresql.conf
    
    # Apple Silicon (M1/M2/M3):
    nano /opt/homebrew/var/postgresql@17/postgresql.conf
    
    Найдите параметр port и измените его значение.

Установка PostgreSQL на Linux

Linux и PostgreSQL прекрасно ладят друг с другом. Однако разные дистрибутивы требуют немного разных подходов.

Для Ubuntu/Debian

  1. Обновите репозитории системы

    Выполните команду:

    sudo apt update
    
  2. Установите PostgreSQL

    Установите сервер и клиент PostgreSQL:

    sudo apt install postgresql postgresql-contrib
    
  3. Запустите сервер

    Убедитесь, что сервер запущен:

    sudo systemctl start postgresql
    
  4. Добавьте PostgreSQL в автозапуск

    Чтобы сервер запускался автоматически:

    sudo systemctl enable postgresql
    
  5. Проверка установки

    На Linux-сборках PostgreSQL по умолчанию работает peer-аутентификация, поэтому psql -U postgres от обычного пользователя не сработает. Подключаться нужно от имени системного пользователя postgres. Есть два равноправных варианта:

    Вариант 1 — переключиться в shell от postgres и запустить psql:

    sudo -i -u postgres
    psql
    

    Вариант 2 — однострочно:

    sudo -u postgres psql
    

    Если вы увидели приглашение командной строки postgres=#, поздравляем, сервер работает! После того как настроите пароль и pg_hba.conf, можно будет логиниться напрямую через psql -U postgres.

Для CentOS/RedHat

  1. Добавьте PostgreSQL репозиторий

    Скачайте RPM-файл репозитория с сайта PostgreSQL:

    sudo yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-$(rpm -E %rhel)-x86_64/pgdg-redhat-repo-latest.noarch.rpm
    
  2. Установите PostgreSQL

    Установите сервер и клиент:

    sudo yum install postgresql17-server postgresql17
    
  3. Инициализируйте базу данных

    Выполните:

    sudo /usr/pgsql-17/bin/postgresql-17-setup initdb
    
  4. Запустите сервер

    Включите и запустите сервер:

    sudo systemctl enable postgresql-17
    sudo systemctl start postgresql-17
    
  5. Проверка установки

    Подключитесь к серверу от имени пользователя postgres:

    sudo -u postgres psql
    

Надеюсь, у вас получилось все установить и запустить с первого раза. Если нет - переходите к следующей лекции, там будет разбор ошибок.

2
Задача
SQL SELF, 4 уровень, 0 лекция
Недоступна
Запуск PostgreSQL-консоли
Запуск PostgreSQL-консоли
Комментарии (21)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Euraks Уровень 21
30 мая 2026
docker в помощь

version: "3.9"
services:
  postgres:
    image: postgres:13.3
    environment:
      POSTGRES_DB: "my_db"
      POSTGRES_USER: "postgres"
      POSTGRES_PASSWORD: "postgres"
    ports:
    - "5432:5432"

  pgadmin:
    image: dpage/pgadmin4:latest
    environment:
      PGADMIN_DEFAULT_EMAIL: "example@example.com"
      PGADMIN_DEFAULT_PASSWORD: "password"
    ports:
    - "5050:80"
  zipkin:
    image: openzipkin/zipkin:latest
    ports:
      - "9411:9411"
Андрей Холопов Уровень 9
7 мая 2026
Вам следует дописать шаг для windiws Перейдите в папку с помощью команды: cd имя_папки (cd C:\Program Files\PostgreSQL\18\bin) Выполните команду psql -U postgres Если выполнять команду psql -U postgres вне этой папки, то винда говорит что такой команды не знает
Slimfoxy Уровень 26
5 марта 2026
В общем для тех кто не стандартно установил PostgreSQL, не в Том C, а в другой том, распишу инструкцию по изменению пути в командной строке cmd 1. Для начала меняем при запуске командной строки меняем сначала наш путь, у меня было на томе F, установлен PostgreSQL 2. После смены пути, меняем папку назначения, где установлена прога, с конечной точкой bin (именно оттуда мы и будем запускать наш ключ) 3. После установления папки, уже можем вводить команду psql -U postgres 4. Также важно помните, что на этапе когда у нас запросят пароль, его нужно вводить вслепую, в итоге должно все получиться.
C0N5P1RACY Уровень 1
11 февраля 2026
Консоль запрашивает пароль, но пароль невозможно ввести 😁
AlexSa4kov Уровень 25
21 апреля 2026
обрати внимание, что пароль вводится "вслепую". Отображение введенных символов не осуществляется. Вводишь пароль (какой устанавливал) и Enter. И все должно заработать👍
Павел Гарматюк Уровень 1
3 февраля 2026
Подсказка некорректная, на Linux-like ОС данная команда не заведется. Ввожу правильную - валидатор не прохожу.

sudo -u postgres psql
Anonymous #2719033 Уровень 5
4 января 2026
консоль на маке выдает psql: error: connection to server on socket "/tmp/.s.PGSQL.5432" failed: FATAL: role "postgres" does not exist что сделать?
TAPTAPAbl Уровень 13
16 апреля 2026
и у меня то же самое psql -U postgres psql: ошибка: подключиться к серверу через сокет "/tmp/.s.PGSQL.5432" не удалось: FATAL: role "postgres" does not exist что нужно сделать на маке?
TAPTAPAbl Уровень 13
16 апреля 2026
понял, нужно было создать пользователя % createuser --interactive Введите имя новой роли: postgres и потом всё заработало
Anemon Уровень 13 Expert
24 июля 2025
🤓
Евгений Уровень 56 Expert
14 июля 2025
У многих в Windows может не работать команда

psql -U postgres
Это происходит потому что путь к папке базы данных Postgres не добавлен в переменные среды (т.е. система не понимает, что обозначает команда и что она должна запускать). Вы можете добавить папку базы данных в переменные среды (посмотрите ответ Stepan Yarikov ниже) или поступить иначе: при установке Postgres у вас должен также установиться инструмент SQL shell (psql), это командная строка для взаимодействия с базой данных, и вы можете использовать её вместо стандартной командной строки, чтобы не подключаться к базе данных заново (команда psql -U postgres у вас в данной командной строке всё равно не сработает, потому что это команда подключения к терминалу базы данных, а вы уже к ней подключились, используя SQL shell (psql)).
Tati Уровень 4
15 июня 2025
У меня после установки на Windows не выполняется команда psql
Alexandr Уровень 2
17 июня 2025
Необходимо перейти в папку с установленной PostgreSQL:
playboiesko Уровень 5 Expert
19 июня 2025
Если установил не дефолтно, перейди в папку bin
Серега Батенин Уровень 12
20 июня 2025
самое интересное в cmd команда отрабатывает в папке bin, а в повершелле нет, хотя говорит что такая команда здесь есть))
Andrey Sokolovsky Уровень 14
21 июня 2025
В повершелле надо точно указать, в каком каталоге запускается. Если вы уже в "C:\Program Files\PostgreSQL\17\bin", то так: ./psql -U postgres
Серега Батенин Уровень 12
22 июня 2025
Действительно сработало. Не знал о таких особенностях ПШ, спасибо
Stepan Yarikov Уровень 28
22 июня 2025
Чтобы исправить этот момент необходимо добавить путь к установленной базе в переменную среду. Для Windows 10/11: - Нажмите Win + R, введите sysdm.cpl и нажмите Enter. - Перейдите во вкладку "Дополнительно" → "Переменные среды". - В разделе "Системные переменные" найдите переменную PATH и нажмите "Изменить". - Нажмите "Создать" и добавьте путь к папке bin PostgreSQL, например: Например так: C:\Program Files\PostgreSQL\17\bin После этого можно будет запустить через cmd.
Dmitrii Kuznetsov Уровень 1
29 сентября 2025
можно еще проще сделать. в командной строке ввести:

cd C:\Program Files\PostgreSQL\17\bin
и все. В принципе, как на линухе
Fanil Magdiew Уровень 33 Expert
15 июня 2025
Пароль надо вводить вслепую, и при этом курсор не перемещается)
Slimfoxy Уровень 26
5 марта 2026
Спасибо, сразу не поняла