# Как поднять 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 ```