summaryrefslogtreecommitdiffstats
path: root/postgresql-tests/gen-data/prep
blob: d83dc6be0b47b571a7e6c93091d711a4d6bb74dd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#!/bin/bash

. /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