Skip to content

Commit c84eeb0

Browse files
authored
feat: Add support for sem-service PostgreSQL 18.1 (#517)
1 parent dec3d77 commit c84eeb0

File tree

3 files changed

+29
-9
lines changed

3 files changed

+29
-9
lines changed

sem-service

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ sem_services['redis']="2.8.23 2.8 2 3.2.4 3.2.12 3.2 3 4.0.12 4.0.14 4.0 4 5.0.6
1818
sem_services['valkey']="7.2.6 7.2 7 8.1.2 8.1 8"
1919
sem_services['mongo']="3.2.1 3.2 3.6.20 3.6 3 4.0.20 4.0 4.1.13 4.1 4.2.10 4.2.13 4.2 4.4.1 4.4.4 4.4 4 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 5.0.8 5.0.9 5.0 5 6.0.8 6.0 6 7.0.18 7.0 7 8.0.6 8.0 8"
2020
sem_services['elasticsearch']="1.7.6 1.7 1 2.4.6 2.4 2 5.4.3 5.4 5.5.2 5.5 5.6.16 5.6 5 6.5.1 6.5.4 6.5 6.6 6.8.1 6.8.13 6.8 6 7.1.1 7.1 7.2.0 7.2 7.2.1 7.2 7.3.1 7.3.2 7.3 7.4.2 7.4 7.5.0 7.5.1 7.5.2 7.5 7.6.0 7.6.2 7.6 7.7.0 7.7.1 7.7 7.8.1 7.8 7.9.0 7.9.2 7.9.3 7.9 7.10.0 7.11.2 7.11 7.12.0 7.12 7.17.7 7 8.5.1 8.5.3 8.9.2 8.11.3"
21-
sem_services['postgres']="9.4.26 9.4 9.5.15 9.5.23 9.5 9.6.6 9.6.11 9.6.18 9.6.19 9.6 9 10.0 10.5 10.6 10.7 10.11 10.12 10.13 10.14 10.16 10 11.0 11.2 11.5 11.6 11.7 11.8 11.9 11.11 11 12.1 12.2 12.3 12.4 12.6 12 13.0 13.2 13 14 15.1 15 16 17.2 17.6 17"
21+
sem_services['postgres']="9.4.26 9.4 9.5.15 9.5.23 9.5 9.6.6 9.6.11 9.6.18 9.6.19 9.6 9 10.0 10.5 10.6 10.7 10.11 10.12 10.13 10.14 10.16 10 11.0 11.2 11.5 11.6 11.7 11.8 11.9 11.11 11 12.1 12.2 12.3 12.4 12.6 12 13.0 13.2 13 14 15.1 15 16 17.2 17.6 17 18.1 18"
2222
sem_services['rabbitmq']="3.6.16 3.6 3.8.2 3.8.9 3.8.14 3.8 3"
2323
sem_services['cassandra']="3.11.3 3.11.8 3.11 3"
2424
sem_services['rethinkdb']="2.3.6 2.3 2.4.1 2.4 2"

sem-service-check-params

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -49,33 +49,38 @@ params-check::mysql () {
4949
default_params="$default_params$username$password$db "
5050
echo "$service_version $default_params"
5151
}
52-
5352
params-check::postgres () {
54-
default_params='--net=host --rm -d -e POSTGRES_PASSWORD=semaphore --name postgres -v /var/tmp/postgres:/var/lib/postgresql/data -v /var/run/postgresql:/var/run/postgresql'
5553
service_version="9.6"
5654
sudo mkdir -p /var/run/postgresql && sudo chmod -R 0777 /var/run/postgresql
5755
sudo mkdir -p /var/tmp/postgres && sudo chmod -R 0777 /var/tmp/postgres
5856
params=""
59-
if [ "${1:0:1}" == "-" ];then
57+
if [ "${1:0:1}" == "-" ]; then
6058
params="$@"
6159
else
6260
service_version="${1:-$service_version}"
6361
tmp="${@:2}"
64-
params="${tmp:-$default_params}"
62+
params="$tmp"
6563
fi
66-
if [ "$default_params" != "$params" ];then
64+
version_major="$(printf '%s\n' "$service_version" | cut -d'.' -f1)"
65+
version_major="${version_major:-0}"
66+
default_params='--net=host --rm -d -e POSTGRES_PASSWORD=semaphore --name postgres -v /var/tmp/postgres:/var/lib/postgresql/data -v /var/run/postgresql:/var/run/postgresql'
67+
if [ "$version_major" -ge 18 ]; then
68+
default_params='--net=host --rm -d -e POSTGRES_PASSWORD=semaphore --name postgres -v /var/tmp/postgres:/var/lib/postgresql -v /var/run/postgresql:/var/run/postgresql'
69+
fi
70+
params="${params:-$default_params}"
71+
if [ "$default_params" != "$params" ]; then
6772
username=""; password=""; db=""; dbname="";
6873
for words in $params; do
6974
case $words in
7075
--username=* )
71-
username=" -e POSTGRES_USER=$(echo $words|cut -d'=' -f2) "
76+
username=" -e POSTGRES_USER=$(echo "$words" | cut -d'=' -f2) "
7277
;;
7378
--password=* )
74-
password=$(echo $words|cut -d'=' -f2)
79+
password=$(echo "$words" | cut -d'=' -f2)
7580
password=" -e POSTGRES_PASSWORD=${password:-'postgres'}"
7681
;;
7782
--db=* )
78-
dbname=$(echo $words|cut -d'=' -f2)
83+
dbname=$(echo "$words" | cut -d'=' -f2)
7984
;;
8085
*)
8186
;;
@@ -84,6 +89,7 @@ params-check::postgres () {
8489
[ "$dbname" ] && db=" -e POSTGRES_DB=$dbname"
8590
[ "$username$password" ] && default_params="$default_params$username$password$db "
8691
fi
92+
8793
echo "$service_version $default_params"
8894
}
8995
params-check::postgis () {

tests/sem_service/postgres

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,4 +65,18 @@ psql -h 0.0.0.0 -U postgres -c "SELECT version()" | grep 17
6565
sem-service status postgres
6666
sem-service stop postgres
6767

68+
sem-service start postgres 18.1
69+
createdb -U postgres -h 0.0.0.0 fooo
70+
psql -h 0.0.0.0 -U postgres -c "\l" | grep fooo
71+
psql -h 0.0.0.0 -U postgres -c "SELECT version()" | grep "18\.1"
72+
sem-service status postgres
73+
sem-service stop postgres
74+
75+
sem-service start postgres 18
76+
createdb -U postgres -h 0.0.0.0 fooo
77+
psql -h 0.0.0.0 -U postgres -c "\l" | grep fooo
78+
psql -h 0.0.0.0 -U postgres -c "SELECT version()" | grep 18
79+
sem-service status postgres
80+
sem-service stop postgres
81+
6882
cat /tmp/toolbox_semservice

0 commit comments

Comments
 (0)