|
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