Cat

Docker 4. Взаимодействие с контейнером PostgreSQL

В этом посте разберём как подключиться к контейнеру с PostgreSQL. 

А также, как использовать PostgreSQL с менеджерами БД и в Django.

Все статьи

Icon Link

Дополнительные материалы

Icon Link

Реклама

Icon Link
Применение Docker proDream 30 Июль 2023 Просмотров: 1115

CLI.

Контейнер запустили, теперь давайте научимся с ним взаимодействовать.

Самый прямой способ взаимодействия, это зайти в контейнер и подключиться к CLI(Command Line Interface) PostgreSQL. Проще говоря, подключиться к БД в терминале.

Для этого необходимо в терминале выполнить следующую команду:

docker exec -it  <container-name> psql -U <dataBaseUserName> <dataBaseName>

 

Подробнее про каждый пункт:

  • docker exec - команда позволяющая зайти в контейнер и выполнить указанную далее команду.
  • -it - параметр, сообщающий докеру, что мы хотим подключиться в интерактивном режиме. Бывают случаи, когда терминал занят другим приложением, например выводом запущенного бота и чтобы выйти из контейнера не завершая работу запущенного приложения, необходимо нажать сочетание клавиш CTRL+Q+CTRL+P
  • <container-name> - имя или идентификатор контейнера, к которому хотим подключиться
  • psql - команда для выполнения в контейнере. В нашем случае это подключение к PostgreSQL в консоли.
  • -U <dataBaseUserName> <dataBaseName> - параметры предыдущей команды. Тут мы передаём флаг -U, указывающий, что далее будет введено имя пользователя для авторизации и имя базы данных к которой необходимо подключиться.

 

В итоге команда должна выглядеть следующим образом:

docker exec -it postgres-db psql -U username testdb

Так, мы попадём в консольный интерфейс PostgreSQL. Можно работать с БД.
Для выхода достаточно ввести команду exit.

 

Менеджеры баз данных.

Другой способ подключиться к БД, это использовать менеджеры баз данных. 
Таких программ много, например PgAdmin, DBeaver и другие.

 

Установив любой менеджер поддерживающий PostgreSQL, для подключения к БД необходимо указать следующие данные:

  • host: localhost
  • port: 5432
  • username: username
  • password: password
  • database: testdb

 

Django.

Точно так же, можно использовать запущенную БД в наших проектах, например, в Django:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': testdb,
        'USER': username,
        'PASSWORD': password,
        'HOST': 'localhost',
        'PORT': '5432',
    }
}

 

Если возникнут вопросы по данной теме, не стесняйтесь задавать их в комментариях, обязательно постараюсь ответить.

Автор

    Нет комментариев

    Реклама