summaryrefslogtreecommitdiff
path: root/debian/db/install/pgsql
blob: d61008c3a8294ab1c1e463db53beff582f388e26 (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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#!/bin/sh

set -eu

# get database settings from dbconfig-common and configure
# for ADMINISTRATIVE access
if [ -f /etc/dbconfig-common/anastasis.conf ]; then
    . /etc/dbconfig-common/anastasis.conf
    case "$dbc_dbtype" in
        pgsql)
            anastasis-config -w \
                         -c /etc/anastasis.conf \
                         -s "stasis-postgres" \
                         -o "CONFIG" \
                         -V "postgres:///$dbc_dbname"
            anastasis-config -w \
                         -c /etc/anastasis.conf \
                         -s "anastasis" \
                         -o "DB" \
                         -V "postgres"
            ;;
        sqlite3)
            # Later: use something like:
            # sqlite:///$DATA_DIR/merchant.db
            # But for now, sqlite is unsupported:
            echo "Unsupported database type $dbc_type."
            exit 1
            ;;
        "")
            ;;
        *)
            echo "Unsupported database type $dbc_type."
            exit 1
            ;;
    esac
fi

# Run database initialization logic
sudo -u postgres anastasis-dbinit -c /etc/anastasis.conf


# get database settings from dbconfig-common and configure
# for service access!
if [ -f /etc/dbconfig-common/anastasis.conf ]; then
    . /etc/dbconfig-common/anastasis.conf
    case "$dbc_dbtype" in
        pgsql)
            echo "GRANT INSERT, SELECT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO \"$dbc_dbuser\";" \
                | sudo -u postgres psql "postgres:///$dbc_dbname"
            echo "GRANT SELECT, UPDATE ON ALL SEQUENCES IN SCHEMA public TO \"$dbc_dbuser\";" \
            | sudo -u postgres psql "postgres:///$dbc_dbname"

            anastasis-config -w \
                         -c /etc/anastasis.conf \
                         -s "stasis-postgres" \
                         -o "CONFIG" \
                         -V "postgres://$dbc_dbuser:$dbc_dbpass@$dbc_dbserver/$dbc_dbname"
            anastasis-config -w \
                         -c /etc/anastasis.conf \
                         -s "anastasis" \
                         -o "DB" \
                         -V "postgres"
            ;;
        sqlite3)
            # Later: use something like:
            # sqlite:///$DATA_DIR/merchant.db
            # But for now, sqlite is unsupported:
            echo "Unsupported database type $dbc_type."
            exit 1
            ;;
        "")
            ;;
        *)
            echo "Unsupported database type $dbc_type."
            exit 1
            ;;
    esac
fi