This commit is contained in:
bvn13 2024-11-09 18:26:51 +03:00
parent 6483a81f2e
commit 80fd4e8a4a

View File

@ -0,0 +1,43 @@
# PostgreSQL replication
Это концепт, базовые настройки для создания репликации баз PostgreSQL.
Используется образ [bitnami/postgresql](https://hub.docker.com/r/bitnami/postgresql/#!#).
В нем настроена репликация из коробки.
## Нстройка мастера
```
POSTGRESQL_REPLICATION_MODE: master
POSTGRESQL_REPLICATION_USER: repuser
POSTGRESQL_REPLICATION_PASSWORD: repuserpass
POSTGRESQL_WAL_LEVEL: replica
```
## Настройка слэйва
```
POSTGRESQL_MASTER_HOST: pg-repl-master
POSTGRESQL_REPLICATION_MODE: slave
POSTGRESQL_REPLICATION_USER: repuser
POSTGRESQL_REPLICATION_PASSWORD: repuserpass
POSTGRESQL_WAL_LEVEL: replica
```
## Запуск
Поскольку данные в реальных БД хранятся вне контейнера, их нужно пробросить внутрь
```
volumes:
- ./pg-1:/bitnami/postgresql:Z
```
Но сам PostgreSQL внутри контейнера запускается не под root пользователем, он не имеет полных прав.
Поэтому пред запуском необходимо установить владельцем директории с данным на хосте пользователя с UID 1001. Об этом написано в README.md образа.
> NOTE: As this is a non-root container, the mounted files and directories must have the proper permissions for the UID 1001.