Как настроить базу данных Postgres SQL локально на моем компьютере? - PullRequest
0 голосов
/ 29 августа 2018

Я настроил производственную базу данных Postgres SQL. Если мне нужно отладить работу, я не хочу взаимодействовать с производственной базой данных, иначе это повлияет на базу пользователей. Вместо этого мне нужно создать локальную среду, в которой ничего не изменится в производственной базе данных во время отладки.

Я использую Postgres SQL 10 и PGAdmin 4

Как мне этого добиться?

Спасибо.

1 Ответ

0 голосов
/ 29 августа 2018

Вы можете настроить тестовую среду с помощью Docker.

первый файл docker-compose.yml:

version: "3"
services:
    db:
        image: postgres:10-alpine
        volumes:
            - ./local_path:/var/lib/postgresql/data
        ports:
            - "8000:5432"
        expose:
            - "5432"

    admin:
        image: dpage/pgadmin4
        environment:
            - PGADMIN_DEFAULT_EMAIL=admin@admin.com
            - PGADMIN_DEFAULT_PASSWORD=admin
        ports:
            - "8080:80"

См. Документацию к образу Docker Postgres о том, как установить переменные среды для определения имени пользователя / пароля / имени базы данных. https://hub.docker.com/_/postgres/

Я не слишком знаком с pgadmin, но контейнер имеет минимальные параметры настройки: https://hub.docker.com/r/dpage/pgadmin4/

Затем вы запускаете контейнеры с sudo docker-compose up.

Контейнер db публикует свой порт на 8000 на вашем хост-компьютере, поэтому не должно быть конфликтов с сервером postgres, работающим на хосте.

Для подключения:

psql -h localhost -p 8000 -U postgres

Страница администратора должна быть доступна через порт 8080 на вашем хост-компьютере. Когда вы подключаете администратора к базе данных в пользовательском интерфейсе, имя хоста db, а порт 5432

Теперь, когда у вас настроен докер-контейнер, вы можете также рассмотреть возможность его использования для производства:)

...