diff options
Diffstat (limited to 'postgresql-tests/gen-data/prep')
-rwxr-xr-x | postgresql-tests/gen-data/prep | 44 |
1 files changed, 41 insertions, 3 deletions
diff --git a/postgresql-tests/gen-data/prep b/postgresql-tests/gen-data/prep index b5b19b5..d83dc6b 100755 --- a/postgresql-tests/gen-data/prep +++ b/postgresql-tests/gen-data/prep @@ -1,5 +1,43 @@ #!/bin/bash -yum install -y wget postgresql-server unzip -echo "LANG=en_US.UTF-8" > /etc/locale.conf -rm -rf /var/lib/pgsql/data +. /etc/os-release 2>/dev/null + +: "${VERSION_ID=0}" + +pkgmanager=yum + +verbose() { echo "$0: $*" ; } +die() { echo "$*" ; exit 1; } + +awk_cmd=' + /^Environment=PGDATA=\/var\/lib\/pgsql\/data$/ { + sub("/data", "/data/data"); + print; + t = 1; + next; + } + /^OOMScoreAdjust=-1000$/ { + next ; + } + { print; } + END {exit (!t)} +' + +test x"${ID}" = xfedora && test "$VERSION_ID" -gt 21 && pkgmanager=dnf + +verbose "installing necessary packages ($pkgmanager)" +$pkgmanager install -y wget postgresql-server unzip initscripts + +verbose "setting up proper datadir" +service_file=/usr/lib/systemd/system/postgresql.service +{ + cp "$service_file" "$service_file~" && \ + awk "$awk_cmd" < "$service_file~" > "$service_file" +} || die "can't set datadir to /var/lib/pgsql/data/data" + +loc="LANG=en_US.UTF-8" +verbose "setting locale to $loc" +echo "$loc" > /etc/locale.conf + +verbose "removing datadir" +rm -rf /var/lib/pgsql/data/data |