/
travis_setup_postgresql.bash
60 lines (53 loc) · 1.4 KB
/
travis_setup_postgresql.bash
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
travis_setup_postgresql() {
local port start_cmd stop_cmd
local version="${1}"
if [[ -z "${version}" ]]; then
case "${TRAVIS_DIST}" in
precise)
version='9.1'
;;
trusty)
version='9.2'
;;
xenial)
version='9.6'
;;
bionic)
version='10'
;;
focal)
version='13'
;;
jammy)
version='14'
;;
*)
echo -e "${ANSI_RED}Unrecognized operating system.${ANSI_CLEAR}"
;;
esac
fi
echo -e "${ANSI_YELLOW}Starting PostgreSQL v${version}${ANSI_CLEAR}"
export PATH="/usr/lib/postgresql/${version}/bin:$PATH"
if [[ "${TRAVIS_INIT}" == upstart ]]; then
start_cmd="sudo service postgresql start ${version}"
stop_cmd="sudo service postgresql stop"
elif [[ "${TRAVIS_INIT}" == systemd ]]; then
start_cmd="sudo systemctl start postgresql@${version}-main"
stop_cmd="sudo systemctl stop postgresql"
fi
${stop_cmd}
sudo bash -c "
if [[ -d /var/ramfs && ! -d \"/var/ramfs/postgresql/${version}\" ]]; then
mkdir -p /var/ramfs/postgresql
cp -rp \"/var/lib/postgresql/${version}\" \"/var/ramfs/postgresql/${version}\"
fi
" &>/dev/null
${start_cmd}
echo "${start_cmd}"
pushd / &>/dev/null || true
for port in 5432 5433; do
sudo -u postgres createuser -s -p "${port}" travis
sudo -u postgres createdb -O travis -p "${port}" travis
done &>/dev/null
popd &>/dev/null || true
}