44 lines
1.6 KiB
Markdown
44 lines
1.6 KiB
Markdown
# 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.
|
||
|
||
|