3
3
pgconf=" $PGDATA /postgresql.conf"
4
4
hbaconf=" $PGDATA /pg_hba.conf"
5
5
6
+ mkdir -p /var/run/postgresql && chown -R $PGUSER :$PGUSER /var/run/postgresql && chmod -R 775 /var/run/postgresql
7
+ mkdir -p $PGDATA && chown -R $PGUSER :$PGUSER $PGDATA && chmod -R 750 $PGDATA
8
+
6
9
# create db cluster if it's not exist
7
10
if [[ ! -f $PGDATA /PG_VERSION ]]; then
8
- initdb --encoding=UTF8 --locale=C -D $PGDATA
11
+ su-exec $PGUSER initdb --encoding=UTF8 --locale=C -D $PGDATA
9
12
10
13
echo " listen_addresses = '*'" >> $pgconf
11
14
echo " port = $PGPORT " >> $pgconf
18
21
19
22
# init pgbackrest
20
23
if ! grep -q " pgbackrest" " $pgconf " ; then
21
- pg_ctl start -o " -p $PGPORT -k /var/run/postgresql" -D $PGDATA
24
+ su-exec $PGUSER pg_ctl start -o " -p $PGPORT -k /var/run/postgresql" -D $PGDATA
22
25
23
26
echo " wal_level = replica" >> $pgconf
24
27
echo " max_wal_size = 1GB" >> $pgconf
@@ -29,19 +32,19 @@ if ! grep -q "pgbackrest" "$pgconf"; then
29
32
echo " log_line_prefix = ''" >> $pgconf
30
33
echo " log_timezone = 'Etc/UTC'" >> $pgconf
31
34
32
- pgbackrest --stanza=app --pg1-port=$PGPORT --log-level-console=info stanza-create
33
- pg_ctl restart -o " -p $PGPORT -k /var/run/postgresql" -D $PGDATA
35
+ su-exec $PGUSER pgbackrest --stanza=app --pg1-port=$PGPORT --log-level-console=info stanza-create
36
+ su-exec $PGUSER pg_ctl restart -o " -p $PGPORT -k /var/run/postgresql" -D $PGDATA
34
37
35
- pgbackrest --stanza=app --pg1-port=$PGPORT --log-level-console=info check
38
+ su-exec $PGUSER pgbackrest --stanza=app --pg1-port=$PGPORT --log-level-console=info check
36
39
pgbackrest_check_result=$?
37
40
38
41
if [ $pgbackrest_check_result -ne 0 ]; then
39
42
echo " pgbackrest check failed."
40
43
exit $pgbackrest_check_result
41
44
fi
42
45
43
- pg_ctl stop -o " -p $PGPORT -k /var/run/postgresql" -D $PGDATA
46
+ su-exec $PGUSER pg_ctl stop -o " -p $PGPORT -k /var/run/postgresql" -D $PGDATA
44
47
fi
45
48
46
49
# start postgresql server
47
- " $@ "
50
+ su-exec $PGUSER " $@ "
0 commit comments