20690: Determine postgresql version from psql command.
[arvados.git] / tools / arvbox / lib / arvbox / docker / service / postgres / run-service
index 207cd46d298bfcb48a9a1e08c5fb300caf4163c4..2819ee2d9618398cb7371dc60d70f4f56992e384 100755 (executable)
@@ -6,12 +6,13 @@
 exec 2>&1
 set -eux -o pipefail
 
-if ! test -d /var/lib/postgresql/9.4/main ; then
-    /usr/lib/postgresql/9.4/bin/initdb -D /var/lib/postgresql/9.4/main
-    sh -c "while ! (psql postgres -c'\du' | grep '^ arvbox ') >/dev/null ; do createuser -s arvbox ; sleep 1 ; done" &
+PGVERSION=$(psql --version | grep -E -o '[0-9]+' | head -n1)
+
+if ! test -d /var/lib/postgresql/$PGVERSION/main ; then
+    /usr/lib/postgresql/$PGVERSION/bin/initdb --locale=en_US.UTF-8 -D /var/lib/postgresql/$PGVERSION/main
 fi
-mkdir -p /var/run/postgresql/9.4-main.pg_stat_tmp
+mkdir -p /var/run/postgresql/$PGVERSION-main.pg_stat_tmp
 
-rm -f /var/lib/postgresql/9.4/main/postmaster.pid
+rm -f /var/lib/postgresql/$PGVERSION/main/postmaster.pid
 
-exec /usr/lib/postgresql/9.4/bin/postgres -D /var/lib/postgresql/9.4/main -c config_file=/etc/postgresql/9.4/main/postgresql.conf
+exec /usr/lib/postgresql/$PGVERSION/bin/postgres -D /var/lib/postgresql/$PGVERSION/main -c config_file=/etc/postgresql/$PGVERSION/main/postgresql.conf