Добавить в корзинуПозвонить
Найти в Дзене
"Мы"-Прогер

Как установить PostgreSQL в Docker - Изучаем SQL с нуля на примере PostgreSQL

Вы можете скачать и установить PostgreSQL непосредственно на рабочий компьютер, но СУБД - это довольно громоздкая штука, она будет загружаться вместе с системой (отключить нельзя) и забирать некоторые ресурсы (память и процессор). Кроме того, у вас не будет возможности делать промежуточные сохранения образа на случай, если ваши эксперименты что-то сломают. Поэтому предлагается использовать PostgreSQL, находящийся в контейнере Docker. Собственно, Docker - это специальная штука, придуманная для того, чтобы помещать любые приложения в контейнеры. Приложение в контейнере изолировано от внешней среды, так что не нужно мучиться с установкой и настройкой - просто скачайте и запустите контейнер. Контейнер всегда можно остановить, и он не будет потреблять ресурсы. А ещё можно сохранить текущее состояние контейнера, чтобы потом можно было к нему вернуться. Сам Docker - это консольное приложение, но под Windows есть графическая надстройка над ним, где вместо командной строки можно тыкать кнопочки
Оглавление

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

Поэтому предлагается использовать PostgreSQL, находящийся в контейнере Docker. Собственно, Docker - это специальная штука, придуманная для того, чтобы помещать любые приложения в контейнеры. Приложение в контейнере изолировано от внешней среды, так что не нужно мучиться с установкой и настройкой - просто скачайте и запустите контейнер. Контейнер всегда можно остановить, и он не будет потреблять ресурсы. А ещё можно сохранить текущее состояние контейнера, чтобы потом можно было к нему вернуться.

Установка Postgres в Docker

Сам Docker - это консольное приложение, но под Windows есть графическая надстройка над ним, где вместо командной строки можно тыкать кнопочки. Надстройка называется Docker Desktop. Скачаем и установим её - https://www.docker.com/products/docker-desktop/ Вероятно, понадобится перезагрузить Windows. (Отметим, что консольные команды Docker не будут работать, если Docker Desktop не запущен.)

Запустим Docker Desktop. Вверху есть строка поиска:

Наберём в ней "postgres" и выберем postgres:latest (то есть самую последнюю версию postgres). Нажмём кнопку Pull (вытянуть контейнер к себе на компьютер). Мы вытянули образ postgres. Далее на основе этого образа можно создать сколько угодно контейнеров, в которых будут разные экземпляры postgres (например, один контейнер для одного проекта, другой - для другого и так далее). Для этого идём на вкладку Images (образы), находим наш образ и нажимаем стрелочку около него:

-2

Раскрываем область Optional Settings (необязательные настройки):

-3

Задаём понятное имя контейнера, пароль, по которому можно будет подключаться к Postgres, и привяжем порт нашей системы к порту внутри контейнера. Привязка означает, что приложения на нашем компьютере, отправляющие запросы на этот порт, будут переадресованы внутрь контейнера, где эти запросы будет обрабатывать Postgres. Указывать порт нужно, потому что мы можем запустить несколько контейнеров одновременно на разных портах.

Откроется лог Postgres. Если всё будет хорошо, то в конце лога будет написано "database system is ready to accept connections" ("система базы данных готова к принятию соединений"):

-4

Как подключиться к базе данных из IntelliJ IDEA / PyCharm / Rider /...

Создадим какой-нибудь проект (не важно какой). Когда проект откроется, нажмём на плюсик на вкладке Database ("база данных"):

-5

Выберем "Connect to Database" ("подключиться к базе данных"). Есть два варианта подключения: задать все параметры вручную или использовать заранее сформированную строку подключения. Строка подключения содержит те же самые параметры - адрес базы, порт, логин, пароль и прочее - в определённом формате. Если вы когда-нибудь захотите подключить к базе ваше приложение, то, скорее всего, вам придётся использовать строку подключения. А сейчас нам проще задать всё вручную - оставляем первый вариант:

-6

Далее вводим адрес сервера Postgres. Он у нас на компьютере, поэтому адрес - "localhost". Порт - который мы указали в Docker при создании контейнера (5432):

-7

Далее указываем логин и пароль:

-8

Возможно, нам понадобится нажать на ссылку "Download missing drivers", чтобы скачать драйвер для работы с Postgres. Если всё пройдёт хорошо, на вкладке Database появится новое подключение к базе:

-9

Если вы подключаетесь к базе данных, в которой уже есть что-то (не только что созданной), то это что-то может быть изначально не видно. Дело в том, что в дереве базы данных нужно проставить недостающие галочки:

-10

Далее

Оглавление: