Skip to content

Commit 644335d

Browse files
author
Sameer Naik
committed
renamed env param POSTGRES_REPLICATION_MODE to POSTGRES_MODE
1 parent 9a989c8 commit 644335d

File tree

5 files changed

+35
-35
lines changed

5 files changed

+35
-35
lines changed

README.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ When `POSTGRES_USER` is is specified, the `postgres` user is not assigned a pass
189189

190190
A [Streaming replication](http://www.postgresql.org/docs/9.4/static/warm-standby.html#STREAMING-REPLICATION) cluster can easily be setup with the Bitnami PostgreSQL Docker Image using the following environment variables:
191191

192-
- `POSTGRES_REPLICATION_MODE`: Replication mode. Possible values `master`/`slave` (default: master).
192+
- `POSTGRES_MODE`: Replication mode. Possible values `master`/`slave` (default: master).
193193
- `POSTGRES_REPLICATION_USER`: Replication user. User is created on the master at first boot (default: none).
194194
- `POSTGRES_REPLICATION_PASSWORD`: Replication users password. Password is set for `POSTGRES_REPLICATION_USER` on master on the first boot (default: none).
195195
- `POSTGRES_MASTER_HOST`: Hostname/IP of replication master (parameter available only on slave).
@@ -208,15 +208,15 @@ docker run --name postgresql-master \
208208
-e POSTGRES_USER=my_user \
209209
-e POSTGRES_PASSWORD=password123 \
210210
-e POSTGRES_DB=my_database \
211-
-e POSTGRES_REPLICATION_MODE=master \
211+
-e POSTGRES_MODE=master \
212212
-e POSTGRES_REPLICATION_USER=my_repl_user \
213213
-e POSTGRES_REPLICATION_PASSWORD=my_repl_password \
214214
bitnami/postgresql
215215
```
216216

217-
In this command we are configuring the container as the master using the `POSTGRES_REPLICATION_MODE=master` parameter. Using the `POSTGRES_REPLICATION_USER` and `POSTGRES_REPLICATION_PASSWORD` parameters we are creating a replication user that will be used by the slaves to connect to the master and perform streaming replication.
217+
In this command we are configuring the container as the master using the `POSTGRES_MODE=master` parameter. Using the `POSTGRES_REPLICATION_USER` and `POSTGRES_REPLICATION_PASSWORD` parameters we are creating a replication user that will be used by the slaves to connect to the master and perform streaming replication.
218218

219-
By default a container is configured as a `master`. As a result you can drop the `POSTGRES_REPLICATION_MODE=master` from the above command.
219+
By default a container is configured as a `master`. As a result you can drop the `POSTGRES_MODE=master` from the above command.
220220

221221
### Step 2: Create the replication slave
222222

@@ -227,13 +227,13 @@ docker run --name postgresql-slave \
227227
--link postgresql-master:master \
228228
-e POSTGRES_MASTER_HOST=master \
229229
-e POSTGRES_MASTER_PORT=5432 \
230-
-e POSTGRES_REPLICATION_MODE=slave \
230+
-e POSTGRES_MODE=slave \
231231
-e POSTGRES_REPLICATION_USER=my_repl_user \
232232
-e POSTGRES_REPLICATION_PASSWORD=my_repl_password \
233233
bitnami/postgresql
234234
```
235235

236-
In this command we are configuring the container as a slave using the `POSTGRES_REPLICATION_MODE=slave` parameter. Before the replication slave is started, the `POSTGRES_MASTER_HOST` and `POSTGRES_MASTER_PORT` parameters are used by the slave container to connect to the master and replicate the initial database from the master. The `POSTGRES_REPLICATION_USER` and `POSTGRES_REPLICATION_PASSWORD` credentials are used to authenticate with the master.
236+
In this command we are configuring the container as a slave using the `POSTGRES_MODE=slave` parameter. Before the replication slave is started, the `POSTGRES_MASTER_HOST` and `POSTGRES_MASTER_PORT` parameters are used by the slave container to connect to the master and replicate the initial database from the master. The `POSTGRES_REPLICATION_USER` and `POSTGRES_REPLICATION_PASSWORD` credentials are used to authenticate with the master.
237237

238238
Using the `master` docker link alias, the Bitnami PostgreSQL Docker image automatically fetches the replication paramaters from the master container, namely:
239239

@@ -247,7 +247,7 @@ As a result you can drop all of these parameters from the slave.
247247
```bash
248248
docker run --name postgresql-slave \
249249
--link postgresql-master:master \
250-
-e POSTGRES_REPLICATION_MODE=slave \
250+
-e POSTGRES_MODE=slave \
251251
bitnami/postgresql
252252
```
253253

@@ -272,7 +272,7 @@ master:
272272
- POSTGRES_USER=my_user
273273
- POSTGRES_PASSWORD=password123
274274
- POSTGRES_DB=my_database
275-
- POSTGRES_REPLICATION_MODE=master
275+
- POSTGRES_MODE=master
276276
- POSTGRES_REPLICATION_USER=my_repl_user
277277
- POSTGRES_REPLICATION_PASSWORD=my_repl_password
278278

@@ -281,7 +281,7 @@ slave:
281281
links:
282282
- master:master
283283
environment:
284-
- POSTGRES_REPLICATION_MODE=slave
284+
- POSTGRES_MODE=slave
285285
```
286286
287287
Scale the number of slaves using:

help.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
POSTGRES_USER: User to be created on first boot (default: postgres).
55
POSTGRES_PASSWORD: Password to be set for POSTGRES_USER on first boot (default: none).
66
POSTGRES_DB: Database to be created on first boot, accessible by POSTGRES_USER (default: none).
7-
POSTGRES_REPLICATION_MODE: Replication mode. Possible values master/slave (default: master).
7+
POSTGRES_MODE: Replication mode. Possible values master/slave (default: master).
88
POSTGRES_REPLICATION_USER: Replication user. User is created on the master at first boot (default: none).
99
POSTGRES_REPLICATION_PASSWORD: Replication users password. Password is set for POSTGRES_REPLICATION_USER on master on the first boot (default: none).
1010
POSTGRES_MASTER_HOST: Hostname/IP of replication master (parameter available only on slave).

help.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ environment_variables:
22
POSTGRES_USER: "User to be created on first boot (default: postgres)."
33
POSTGRES_PASSWORD: "Password to be set for POSTGRES_USER on first boot (default: none)."
44
POSTGRES_DB: "Database to be created on first boot, accessible by POSTGRES_USER (default: none)."
5-
POSTGRES_REPLICATION_MODE: "Replication mode. Possible values master/slave (default: master)."
5+
POSTGRES_MODE: "Replication mode. Possible values master/slave (default: master)."
66
POSTGRES_REPLICATION_USER: "Replication user. User is created on the master at first boot (default: none)."
77
POSTGRES_REPLICATION_PASSWORD: "Replication users password. Password is set for POSTGRES_REPLICATION_USER on master on the first boot (default: none)."
88
POSTGRES_MASTER_HOST: "Hostname/IP of replication master (parameter available only on slave)."

rootfs/bitnami-utils-custom.sh

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# PostgreSQL Utility functions
22
PROGRAM_OPTIONS="-D $BITNAMI_APP_DIR/data --config_file=$BITNAMI_APP_DIR/conf/postgresql.conf --hba_file=$BITNAMI_APP_DIR/conf/pg_hba.conf --ident_file=$BITNAMI_APP_DIR/conf/pg_ident.conf"
33

4-
POSTGRES_REPLICATION_MODE=${POSTGRES_REPLICATION_MODE:-master}
4+
POSTGRES_MODE=${POSTGRES_MODE:-master}
55

66
set_pg_param() {
77
local key=${1}
@@ -37,7 +37,7 @@ set_recovery_param() {
3737
}
3838

3939
discover_replication_parameters() {
40-
case $POSTGRES_REPLICATION_MODE in
40+
case $POSTGRES_MODE in
4141
master) ;;
4242
slave)
4343
echo "==> Trying to fetch replication parameters exposed by docker links..."
@@ -73,15 +73,15 @@ discover_replication_parameters() {
7373
fi
7474
;;
7575
*)
76-
echo "Replication mode \"$POSTGRES_REPLICATION_MODE\" not supported!"
76+
echo "Replication mode \"$POSTGRES_MODE\" not supported!"
7777
echo ""
7878
exit -1
7979
;;
8080
esac
8181
}
8282

8383
initialize_database() {
84-
case "$POSTGRES_REPLICATION_MODE" in
84+
case "$POSTGRES_MODE" in
8585
master)
8686
echo "==> Initializing database..."
8787
echo ""
@@ -131,7 +131,7 @@ initialize_database() {
131131
}
132132

133133
create_custom_database() {
134-
if [ "$POSTGRES_REPLICATION_MODE" == "master" ]; then
134+
if [ "$POSTGRES_MODE" == "master" ]; then
135135
if [ "$POSTGRES_DB" ]; then
136136
echo "==> Creating database $POSTGRES_DB..."
137137
echo ""
@@ -142,7 +142,7 @@ create_custom_database() {
142142
}
143143

144144
create_postgresql_user() {
145-
if [ "$POSTGRES_REPLICATION_MODE" == "master" ]; then
145+
if [ "$POSTGRES_MODE" == "master" ]; then
146146
POSTGRES_USER=${POSTGRES_USER:-postgres}
147147
if [ "$POSTGRES_USER" != "postgres" ]; then
148148
if [ ! $POSTGRES_PASSWORD ]; then
@@ -184,7 +184,7 @@ create_replication_user() {
184184
exit -1
185185
fi
186186

187-
if [ "$POSTGRES_REPLICATION_MODE" == "master" ]; then
187+
if [ "$POSTGRES_MODE" == "master" ]; then
188188
echo "==> Creating replication user $POSTGRES_REPLICATION_USER..."
189189
echo ""
190190
echo "CREATE ROLE \"$POSTGRES_REPLICATION_USER\" REPLICATION LOGIN ENCRYPTED PASSWORD '$POSTGRES_REPLICATION_PASSWORD';" | \
@@ -196,7 +196,7 @@ create_replication_user() {
196196
}
197197

198198
configure_recovery() {
199-
if [ "$POSTGRES_REPLICATION_MODE" == "slave" ]; then
199+
if [ "$POSTGRES_MODE" == "slave" ]; then
200200
echo "==> Setting up streaming replication slave..."
201201
echo ""
202202

@@ -208,7 +208,7 @@ configure_recovery() {
208208
}
209209

210210
print_postgresql_password() {
211-
case "$POSTGRES_REPLICATION_MODE" in
211+
case "$POSTGRES_MODE" in
212212
master)
213213
if [ -z $POSTGRES_PASSWORD ]; then
214214
echo "**none**"
@@ -223,7 +223,7 @@ print_postgresql_password() {
223223
}
224224

225225
print_postgresql_database() {
226-
case "$POSTGRES_REPLICATION_MODE" in
226+
case "$POSTGRES_MODE" in
227227
master)
228228
if [ $POSTGRES_DB ]; then
229229
echo "Database: $POSTGRES_DB"

test.sh

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -204,22 +204,22 @@ cleanup_environment
204204
@test "Can't setup replication slave without master host" {
205205
# create replication slave without specifying POSTGRES_MASTER_HOST
206206
run container_create slave0 \
207-
-e POSTGRES_REPLICATION_MODE=slave
207+
-e POSTGRES_MODE=slave
208208
[[ "$output" =~ "you need to provide the POSTGRES_MASTER_HOST" ]]
209209
}
210210

211211
@test "Can't setup replication slave without replication user" {
212212
# create replication slave without specifying POSTGRES_REPLICATION_USER
213213
run container_create slave0 \
214-
-e POSTGRES_REPLICATION_MODE=slave \
214+
-e POSTGRES_MODE=slave \
215215
-e POSTGRES_MASTER_HOST=master
216216
[[ "$output" =~ "you need to provide the POSTGRES_REPLICATION_USER" ]]
217217
}
218218

219219
@test "Can't setup replication slave without replication password" {
220220
# create replication slave without specifying POSTGRES_REPLICATION_PASSWORD
221221
run container_create slave0 \
222-
-e POSTGRES_REPLICATION_MODE=slave \
222+
-e POSTGRES_MODE=slave \
223223
-e POSTGRES_MASTER_HOST=master \
224224
-e POSTGRES_REPLICATION_USER=$POSTGRES_REPLICATION_USER
225225
[[ "$output" =~ "you need to provide the POSTGRES_REPLICATION_PASSWORD" ]]
@@ -230,15 +230,15 @@ cleanup_environment
230230
-e POSTGRES_USER=$POSTGRES_USER \
231231
-e POSTGRES_PASSWORD=$POSTGRES_PASSWORD \
232232
-e POSTGRES_DB=$POSTGRES_DB \
233-
-e POSTGRES_REPLICATION_MODE=master \
233+
-e POSTGRES_MODE=master \
234234
-e POSTGRES_REPLICATION_USER=$POSTGRES_REPLICATION_USER \
235235
-e POSTGRES_REPLICATION_PASSWORD=$POSTGRES_REPLICATION_PASSWORD
236236

237237
container_create slave0 -d \
238238
$(container_link default $CONTAINER_NAME) \
239239
-e POSTGRES_MASTER_HOST=$CONTAINER_NAME \
240240
-e POSTGRES_MASTER_PORT=5432 \
241-
-e POSTGRES_REPLICATION_MODE=slave \
241+
-e POSTGRES_MODE=slave \
242242
-e POSTGRES_REPLICATION_USER=$POSTGRES_REPLICATION_USER \
243243
-e POSTGRES_REPLICATION_PASSWORD=$POSTGRES_REPLICATION_PASSWORD
244244

@@ -257,14 +257,14 @@ cleanup_environment
257257
-e POSTGRES_USER=$POSTGRES_USER \
258258
-e POSTGRES_PASSWORD=$POSTGRES_PASSWORD \
259259
-e POSTGRES_DB=$POSTGRES_DB \
260-
-e POSTGRES_REPLICATION_MODE=master \
260+
-e POSTGRES_MODE=master \
261261
-e POSTGRES_REPLICATION_USER=$POSTGRES_REPLICATION_USER \
262262
-e POSTGRES_REPLICATION_PASSWORD=$POSTGRES_REPLICATION_PASSWORD
263263

264264
# create replication slave0 linked to master with alias named master
265265
container_create slave0 -d \
266266
$(container_link default master) \
267-
-e POSTGRES_REPLICATION_MODE=slave
267+
-e POSTGRES_MODE=slave
268268

269269
# create users table on master and insert a new row
270270
psql_client default -U $POSTGRES_USER $POSTGRES_DB -c \
@@ -281,7 +281,7 @@ cleanup_environment
281281
-e POSTGRES_USER=$POSTGRES_USER \
282282
-e POSTGRES_PASSWORD=$POSTGRES_PASSWORD \
283283
-e POSTGRES_DB=$POSTGRES_DB \
284-
-e POSTGRES_REPLICATION_MODE=master \
284+
-e POSTGRES_MODE=master \
285285
-e POSTGRES_REPLICATION_USER=$POSTGRES_REPLICATION_USER \
286286
-e POSTGRES_REPLICATION_PASSWORD=$POSTGRES_REPLICATION_PASSWORD
287287

@@ -295,7 +295,7 @@ cleanup_environment
295295
$(container_link default $CONTAINER_NAME) \
296296
-e POSTGRES_MASTER_HOST=$CONTAINER_NAME \
297297
-e POSTGRES_MASTER_PORT=5432 \
298-
-e POSTGRES_REPLICATION_MODE=slave \
298+
-e POSTGRES_MODE=slave \
299299
-e POSTGRES_REPLICATION_USER=$POSTGRES_REPLICATION_USER \
300300
-e POSTGRES_REPLICATION_PASSWORD=$POSTGRES_REPLICATION_PASSWORD
301301

@@ -310,7 +310,7 @@ cleanup_environment
310310
-e POSTGRES_USER=$POSTGRES_USER \
311311
-e POSTGRES_PASSWORD=$POSTGRES_PASSWORD \
312312
-e POSTGRES_DB=$POSTGRES_DB \
313-
-e POSTGRES_REPLICATION_MODE=master \
313+
-e POSTGRES_MODE=master \
314314
-e POSTGRES_REPLICATION_USER=$POSTGRES_REPLICATION_USER \
315315
-e POSTGRES_REPLICATION_PASSWORD=$POSTGRES_REPLICATION_PASSWORD
316316

@@ -324,7 +324,7 @@ cleanup_environment
324324
$(container_link default $CONTAINER_NAME) \
325325
-e POSTGRES_MASTER_HOST=$CONTAINER_NAME \
326326
-e POSTGRES_MASTER_PORT=5432 \
327-
-e POSTGRES_REPLICATION_MODE=slave \
327+
-e POSTGRES_MODE=slave \
328328
-e POSTGRES_REPLICATION_USER=$POSTGRES_REPLICATION_USER \
329329
-e POSTGRES_REPLICATION_PASSWORD=$POSTGRES_REPLICATION_PASSWORD
330330

@@ -350,15 +350,15 @@ cleanup_environment
350350
-e POSTGRES_USER=$POSTGRES_USER \
351351
-e POSTGRES_PASSWORD=$POSTGRES_PASSWORD \
352352
-e POSTGRES_DB=$POSTGRES_DB \
353-
-e POSTGRES_REPLICATION_MODE=master \
353+
-e POSTGRES_MODE=master \
354354
-e POSTGRES_REPLICATION_USER=$POSTGRES_REPLICATION_USER \
355355
-e POSTGRES_REPLICATION_PASSWORD=$POSTGRES_REPLICATION_PASSWORD
356356

357357
container_create slave0 -d \
358358
$(container_link default $CONTAINER_NAME) \
359359
-e POSTGRES_MASTER_HOST=$CONTAINER_NAME \
360360
-e POSTGRES_MASTER_PORT=5432 \
361-
-e POSTGRES_REPLICATION_MODE=slave \
361+
-e POSTGRES_MODE=slave \
362362
-e POSTGRES_REPLICATION_USER=$POSTGRES_REPLICATION_USER \
363363
-e POSTGRES_REPLICATION_PASSWORD=$POSTGRES_REPLICATION_PASSWORD
364364

@@ -379,7 +379,7 @@ cleanup_environment
379379
$(container_link slave0 $CONTAINER_NAME) \
380380
-e POSTGRES_MASTER_HOST=$CONTAINER_NAME \
381381
-e POSTGRES_MASTER_PORT=5432 \
382-
-e POSTGRES_REPLICATION_MODE=slave \
382+
-e POSTGRES_MODE=slave \
383383
-e POSTGRES_REPLICATION_USER=$POSTGRES_REPLICATION_USER \
384384
-e POSTGRES_REPLICATION_PASSWORD=$POSTGRES_REPLICATION_PASSWORD
385385

0 commit comments

Comments
 (0)