aboutsummaryrefslogtreecommitdiffstats
path: root/main/postgresql/pg-restore.initd
blob: e9fe65c1900fd9f7d2ef6fa637a3932bf7f7c022 (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
#!/sbin/openrc-run

extra_commands="${opts} dump restore purge"

depend() {
	need postgresql
}

restore() {
	yesno "$PGDUMP" && return 0
	ebegin "Restoring PostgreSQL $PGDUMP"
	psql -U ${PG_USER:-postgres} ${PSQL_OPTS} -f "$PGDUMP" >/dev/null 2>/dev/null
	local res=$?
	yesno "$KEEP_DUMP" || rm -f "$PGDUMP"
	eend $res
	/etc/init.d/postgresql reload
}

dump() {
	yesno "$PGDUMP" && return 0
	mkdir -p "$( dirname "$PGDUMP" )"
	ebegin "Saving PostgreSQL databases to $PGDUMP"
	pg_dumpall -U ${PG_USER:-postgres} ${PG_DUMPALL_OPTS} -f "$PGDUMP"
	eend $?
}

purge() {
	yesno "$PGDUMP" && return 0
	ebegin "Removing temporary $PGDUMP PostgreSQL backup"
	rm -f "$PGDUMP"
	eend $?
}

start() {
	restore	
}