Привет, Хабр. Сегодня я расскажу вам, как развернуть мощную и супер популярную SQL базу данных PostgreSQL. Для решения этой задачи существует множество способов, но я буду говорить о способе разворачивания при помощи Docker контейнера.
Для старта вам необходимо будет обзавестись VPS сервером (виртуальным или выделенным) с линуксом. Я обычно предпочитаю Ubunta, так что будем рассматривать на ее примере.
После покупки вам предложат способ входа. Обычно это SSH – значит и мы возьмем его за основу.
Допустим данные для входа это:
Hidden text
IPv4-адрес сервера: 000.0.000.000
Пользователь: root
Пароль: ZZujF38P$LcpWWZh
-
Открываем командную строку
-
Вводим команду: ssh root@000.0.000.000
-
Подтверждаем сохранение SSH ключа командой yes
-
Вводим пароль (при вставке пароль не отображается, что является нормальной защитной мерой, затем нажимаем ENTER)
После успешного входа, вас поприветствует Ubuntu, что будет свидетельствовать о том, что сервер работает и доступ к нему есть.
Обновляем Ubuntu и догружаем пакеты:
sudo apt update -y sudo apt upgrade -y
Флаг -y используется как согласие на установку по умолчанию.
Установите Docker, если он еще не установлен:
sudo apt install -y docker.io
Запустите службу Docker:
sudo systemctl start docker
Включите автозапуск Docker при загрузке системы:
sudo systemctl enable docker
Теперь нам необходимо создать контейнер postgres.
Сейчас я введу команду, которую можно использовать для создания Docker контейнера, а после уже подробно поясню за что она отвечает.
sudo docker run -d --name my_db_postgres -e POSTGRES_PASSWORD=083Hdwd3 -e POSTGRES_USER=admin -e POSTGRES_DB=my_first_db -p 5432:5432 postgres
После ввода дожидаемся пока все загрузится и установится. Для того чтоб посмотреть на запущенные Docker контейнеры вводим:
sudo docker ps
Разбор команды для создания контейнера
Теперь давайте разберемся, что сделала наша команда:
-
sudo docker run -d: запускает новый контейнер в фоновом режиме (detached mode). -
--name my_db_postgres: задает имя контейнера для удобства управления. -
--restart always: автоматически перезапускает контейнер при сбое или перезапуске системы. -
-e POSTGRES_PASSWORD=083Hdwd3: устанавливает пароль для пользователя Postgres. -
-e POSTGRES_USER=admin: создает пользователя с именем admin. -
-e POSTGRES_DB=my_first_db: создает базу данных с именем my_first_db. -
-p 5432:5432: пробрасывает порт 5432 из контейнера на порт 5432 хоста, что позволяет подключаться к базе данных снаружи.
Подключение к базе данных
Теперь давайте подключимся к нашей базе данных, чтобы убедиться, что все работает корректно. В качестве GUI для взаимодействия с SQL базами данных я обычно использую DBeaver, вы же для себя можете пользоваться любой программой.
-
Запускаем DBeaver.
-
Нажимаем на новое соединение (или комбинация клавиш CTRL + SHIFT + N).
-
Выбираем PostgreSQL.
-
Вводим данные для подключения (хост – это IP адрес сервера, а остальное, думаю, понятно).
-
Жмем на «Тест соединения».
-
Если все ок – жмем на «Готово».
Заключение
Таким образом, буквально за пару минут мы подняли серьезную базу данных, которую можно будет использовать в большом количестве проектов, начиная от Telegram ботов и заканчивая большими сайтами. Я, например, практически не пользуюсь другими SQL в своих проектах (разве что в SQLITE в совссем маленьких проектах).
Если вам будет интересна эта тема в формате программного взаимодействия с PostgreSQL (например, через python3, модуль asyncpg), дайте знать. С удовольствием поделюсь своими наработками.
Если эта статья была вам полезной, не забудьте об этом сообщить лайком или позитивным комментарием, а то от токсичности и негатива тут уже начинаю уставать.
Спасибо за внимание!
ссылка на оригинал статьи https://habr.com/ru/articles/820129/
Добавить комментарий