Project

General

Profile

Db-support » History » Version 1

Philippe May, 17/07/2018 12:34

1 1 Philippe May
h1. Database
2 1 Philippe May
3 1 Philippe May
h2. Backups
4 1 Philippe May
5 1 Philippe May
h3. Primary
6 1 Philippe May
7 1 Philippe May
The database is backed up every day at midnight. The dump file is located in @/var/backups/postgres/@.
8 1 Philippe May
9 1 Philippe May
h3. Secondary
10 1 Philippe May
11 1 Philippe May
The whole virtual machine is backed up by BackupNinja on the "dom0" controller, using:
12 1 Philippe May
- rdiff backups every day
13 1 Philippe May
- tar files on Saturdays.
14 1 Philippe May
15 1 Philippe May
See @/etc/backups.d@ on the dom0 (192.168.0.12).
16 1 Philippe May
17 1 Philippe May
h3. Tertiary
18 1 Philippe May
19 1 Philippe May
TODO: remote backup.
20 1 Philippe May
21 1 Philippe May
22 1 Philippe May
h2. Restoration
23 1 Philippe May
24 1 Philippe May
If the VM is not shutdown properly, there's a chance that the database is corrupt, and needs to be restored from one of the backups.
25 1 Philippe May
26 1 Philippe May
After the restoration, restart gisaf:
27 1 Philippe May
<pre>
28 1 Philippe May
systemctl restart uwsgi.service
29 1 Philippe May
</pre>
30 1 Philippe May
31 1 Philippe May
h3. From primary backup
32 1 Philippe May
33 1 Philippe May
With user @postgres@:
34 1 Philippe May
<pre>
35 1 Philippe May
# Optionally, rename the corrupt database, selecting another name than @avgis_c2@ every time:
36 1 Philippe May
psql -c "ALTER DATABASE avgis RENAME TO avgis_c2;"
37 1 Philippe May
# Drop the existing database
38 1 Philippe May
psql -c "drop database avgis;"
39 1 Philippe May
# Create a new database:
40 1 Philippe May
createdb -E utf8 -T template0 avgis
41 1 Philippe May
# Restore the database
42 1 Philippe May
pg_restore -d avgis /var/backups/postgres/avgis.pg_dump
43 1 Philippe May
</pre>