Skip to content

Commit 3ee672b

Browse files
iu5gitiu5git
iu5git
authored and
iu5git
committed
postgres docker
1 parent 7eecd96 commit 3ee672b

File tree

3 files changed

+87
-2
lines changed

3 files changed

+87
-2
lines changed

Diff for: README.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -110,8 +110,9 @@
110110

111111
Обязательно наличие 5 или более статусов `заявок`: черновик, удалён, сформирован, завершён, отклонён. У каждого пользователя не более одной заявки в статусе `черновик`. Названия таблиц и их полей должны соответствовать предметной области. Одно из доп. полей `заявки` или `м-м` рассчитывается при завершении заявки.
112112

113+
* [Установка в Docker и использование PostgreSQL](/tutorials/lab2-db/README.md)
113114
* [Курс по основам PostgreSQL](https://iu5edu.ru/wiki/devops/docs/master-classes/postgresql/)
114-
* [Методические указания PostgreSQL 4 семестр](/tutorials/lab2-db/README.md)
115+
* [Лабораторные по PostgreSQL, индексы, Tauri, чат-бот](https://github.com/iu5git/Database)
115116
* [Методические указания Django](/tutorials/lab2-py/lab2_tutorial.md)
116117
* [Методические указания Golang](/tutorials/lab2-go/README.md)
117118
* Видео мастер-класс [gORM и шаблоны Golang](https://www.youtube.com/watch?v=Hh9Lf__Wohw)

Diff for: tutorials/lab2-db/README.md

+29-1
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,36 @@
11
# Методические указания по выполнению лабораторной работы №2
22

3+
4+
## Рекомендации по установке PostgreSQL в Docker контейнер
5+
6+
Если ваш выбор пал на установку СУБД в docker-container можете использовать данный compose файл `docker-compose.yml`.
7+
8+
### Шаги для установки
9+
1. Скопировать compose файл в новую папку
10+
2. Выполнить в терминала команду
11+
12+
```
13+
docker-compose up
14+
```
15+
16+
Подробнее можно причитать [здесь](https://habr.com/ru/post/578744/).
17+
18+
19+
### Дополнительный вариант развертывания PostgreSQL в Docker контейнер
20+
21+
1. Скачиваем образ из Docker Hub
22+
```console
23+
docker pull postgres
24+
```
25+
2. Запускаем контейнер с СУБД
26+
```console
27+
docker run --name postgres -p 5455:5432 -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=postgres1234 -e POSTGRES_DB=test_db -d postgres
28+
```
29+
30+
331
## Работа с PostgreSQL
432

5-
На вирутальной машине уже установлен PostgreSQL, чтобы начать с ним взаимодействовать непосредственно на ВМ необходимо активировать терминальный клиент **psql** одноименной командой
33+
На вирутальной машине Ubuntu 22.04 уже установлен PostgreSQL, чтобы начать с ним взаимодействовать непосредственно на ВМ необходимо активировать терминальный клиент **psql** одноименной командой
634

735
![Активация терминального клиента](assets/8.PNG)
836

Diff for: tutorials/lab2-db/docker-compose.yml

+56
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
version: "3.9"
2+
services:
3+
postgres:
4+
image: postgres:15.0
5+
command:
6+
- "postgres"
7+
- "-c"
8+
- "max_connections=50"
9+
- "-c"
10+
- "shared_buffers=1GB"
11+
- "-c"
12+
- "effective_cache_size=4GB"
13+
- "-c"
14+
- "work_mem=16MB"
15+
- "-c"
16+
- "maintenance_work_mem=512MB"
17+
- "-c"
18+
- "random_page_cost=1.1"
19+
- "-c"
20+
- "temp_file_limit=10GB"
21+
- "-c"
22+
- "log_min_duration_statement=200ms"
23+
- "-c"
24+
- "idle_in_transaction_session_timeout=10s"
25+
- "-c"
26+
- "lock_timeout=1s"
27+
- "-c"
28+
- "statement_timeout=60s"
29+
- "-c"
30+
- "shared_preload_libraries=pg_stat_statements"
31+
- "-c"
32+
- "pg_stat_statements.max=10000"
33+
- "-c"
34+
- "pg_stat_statements.track=all"
35+
environment:
36+
POSTGRES_DB: "mydb"
37+
POSTGRES_USER: "root"
38+
POSTGRES_PASSWORD: "mydbpass"
39+
PGDATA: "/var/lib/postgresql/data/pgdata"
40+
volumes:
41+
- ./InitDatabase:/docker-entrypoint-initdb.d
42+
- .:/var/lib/postgresql/data
43+
ports:
44+
- "5432:5432"
45+
healthcheck:
46+
test: ["CMD-SHELL", "pg_isready -U root -d mydb"]
47+
interval: 10s
48+
timeout: 5s
49+
retries: 5
50+
start_period: 10s
51+
restart: unless-stopped
52+
deploy:
53+
resources:
54+
limits:
55+
cpus: '3'
56+
memory: 4G

0 commit comments

Comments
 (0)