|
1 | 1 | #!/bin/bash
|
2 | 2 |
|
3 | 3 | version="$1"
|
4 |
| -db_port=5432 |
| 4 | +db_port="$2" |
5 | 5 | db_name="RedisConnect"
|
6 | 6 | db_user="redisconnect"
|
7 | 7 | db_pwd="Redis@123"
|
8 |
| -[[ -z "$version" ]] && { echo "Error: Missing docker version tag e.g. latest, 12.5"; exit 1; } |
| 8 | +[[ -z "$version" ]] && { echo "Error: Missing docker version tag e.g. latest, 12.7"; exit 1; } |
| 9 | +[[ -z "$db_port" ]] && { echo "Error: Missing database port e.g. 5432"; exit 1; } |
9 | 10 |
|
| 11 | +container_name="postgres-$version-$(hostname)-$db_port" |
10 | 12 | # delete the existing postgres:$version container if it exist
|
11 |
| -sudo docker kill postgres-$version-$(hostname);sudo docker rm postgres-$version-$(hostname); |
| 13 | +sudo docker kill $container_name;sudo docker rm $container_name; |
12 | 14 |
|
13 |
| -echo "Creating postgres-$version-$(hostname) docker container." |
14 |
| -sudo docker run --name postgres-$version-$(hostname) \ |
| 15 | +echo "Creating $container_name docker container." |
| 16 | +sudo docker run --name $container_name \ |
15 | 17 | -e POSTGRES_DB=$db_name \
|
16 | 18 | -e POSTGRES_USER=$db_user \
|
17 | 19 | -e POSTGRES_PASSWORD=$db_pwd \
|
18 | 20 | -p $db_port:5432 \
|
19 | 21 | -d postgres:$version \
|
20 | 22 | -c wal_level=logical \
|
21 |
| - -c max_wal_senders=1 \ |
22 |
| - -c max_replication_slots=1 |
| 23 | + -c max_wal_senders=10 \ |
| 24 | + -c max_replication_slots=10 \ |
| 25 | + -c track_commit_timestamp=on |
| 26 | + #-c wal_receiver_timeout=300s \ |
| 27 | + #-c wal_sender_timeout=0 |
23 | 28 |
|
24 | 29 | sleep 30s
|
25 | 30 |
|
26 | 31 | echo "Creating RedisConnect database and emp table."
|
27 | 32 | #run the setup script to create the DB and the table in the DB
|
28 |
| -sudo docker cp postgres_cdc.sql postgres-$version-$(hostname):postgres_cdc.sql |
29 |
| -sudo docker exec -it postgres-$version-$(hostname) bash -c 'psql -U"$POSTGRES_USER" -d"$POSTGRES_DB" < postgres_cdc.sql' |
| 33 | +sudo docker cp postgres_cdc.sql $container_name:postgres_cdc.sql |
| 34 | +sudo docker exec -it $container_name bash -c 'psql -U"$POSTGRES_USER" -d"$POSTGRES_DB" < postgres_cdc.sql' |
30 | 35 | echo ""
|
0 commit comments