|
|
|
# Как поднять PostgreSQL локально
|
|
|
|
|
|
|
|
1. Установить **[docker desktop]**;
|
|
|
|
|
|
|
|
2. Как-то сохранить `docker-compose.yml`, т.е.:
|
|
|
|
- либо скачать файл **[docker-compose.yml](./docker-compose.yml)**;
|
|
|
|
- либо склонировать репозиторий в терминале, где есть git (`git clone
|
|
|
|
https://cs-shelter.xyz/ottergottaott/minor-sql-2022.git`);
|
|
|
|
|
|
|
|
3. Открыть терминал:
|
|
|
|
- PowerShell в Windows, _а лучше **[Windows Subsystem for Linux][wsl]**_;
|
|
|
|
- iTerm в macOS;
|
|
|
|
|
|
|
|
4. С помощью команд, приведённых ниже, перейдите в склонированный
|
|
|
|
репозиторий/место, куда сохранили `docker-compose.yml`:
|
|
|
|
- `cd` - перейти в директорию;
|
|
|
|
- `pwd` - вывести текущую директорию;
|
|
|
|
- `ls` - вывести содержимое текущей директории;
|
|
|
|
|
|
|
|
5. Выполните команду, написанную ниже, она запустит контейнеры (_считайте,
|
|
|
|
что это такие маленькие компьютеры с linux и нужными библиотеками, в т.ч. с
|
|
|
|
самим postgres_), в которых будут база данных и админка.
|
|
|
|
|
|
|
|
Выполнять нужно команды, написанные **ПОСЛЕ** знака `$`, сам `$` писать не нужно:
|
|
|
|
```sh
|
|
|
|
$ docker compose up -d
|
|
|
|
```
|
|
|
|
|
|
|
|
6. Убедитесь, что контейнеры поднялись, с помощью `ps`, должно быть выведено
|
|
|
|
что-то вроде:
|
|
|
|
```sh
|
|
|
|
$ docker compose ps
|
|
|
|
NAME COMMAND SERVICE STATUS PORTS
|
|
|
|
pgadmin4_container "/entrypoint.sh" pgadmin running 443/tcp, 0.0.0.0:5050->80/tcp
|
|
|
|
postgres_container "docker-entrypoint.s…" postgres running 0.0.0.0:5432->5432/tcp```
|
|
|
|
```
|
|
|
|
|
|
|
|
Если нет, то внимательно убедитесь, что правильно выполнили все предыдущие шаги.
|
|
|
|
|
|
|
|
7. Теперь можно открыть в браузере **[localhost:5050](http://localhost:5050)**
|
|
|
|
и авторизоваться со следующими учётными данными:
|
|
|
|
- **логин/email**: `pgadmin@pgadmin.org`
|
|
|
|
- **пароль**: `pgadmin`
|
|
|
|
|
|
|
|
8. Откройте Dashboard, если он не открылся:
|
|
|
|
|
|
|
|
![Dashboard tab](./pics/link_to_dash.png)
|
|
|
|
|
|
|
|
9. Далее `Add New Server`, чтобы подключить открытую админку `pgAdmin` к базе
|
|
|
|
данных, которая запущена в другом контейнере.
|
|
|
|
|
|
|
|
![Add New Server](./pics/add_new_data.png)
|
|
|
|
|
|
|
|
10. Введите _любое_ имя, например, `main` в поле `Name`.
|
|
|
|
|
|
|
|
![Name server](./pics/name_main.png)
|
|
|
|
|
|
|
|
11. Перейдите на вкладку `Connection`.
|
|
|
|
|
|
|
|
![Connection](./pics/connection.png)
|
|
|
|
|
|
|
|
12. Во вкладке `Connection` сделайте несколько действий
|
|
|
|
|
|
|
|
- Введите:
|
|
|
|
- **Host name**: `postgres`
|
|
|
|
- **Password**: `changeme`
|
|
|
|
- Обязательно нажмите радиокнопку `Save Password?`.
|
|
|
|
- Нажмите кнопку `Save`.
|
|
|
|
|
|
|
|
![Finish connection](./pics/full_connection.png)
|
|
|
|
|
|
|
|
15. _Вы прекрасны!_ Слева можно открыть доступные таблицы и создать свои.
|
|
|
|
|
|
|
|
![Final](./pics/finish.png)
|
|
|
|
|
|
|
|
[docker desktop]: https://www.docker.com/products/docker-desktop/
|
|
|
|
[wsl]: https://learn.microsoft.com/en-us/windows/wsl/install
|
|
|
|
|
|
|
|
## Как вылючить
|
|
|
|
|
|
|
|
1. Открыть терминал
|
|
|
|
2. Передать `docker-compose` команду `down`:
|
|
|
|
```sh
|
|
|
|
$ docker compose down
|
|
|
|
```
|