diff options
Diffstat (limited to 'debian/db/install/pgsql')
-rwxr-xr-x | debian/db/install/pgsql | 84 |
1 files changed, 28 insertions, 56 deletions
diff --git a/debian/db/install/pgsql b/debian/db/install/pgsql index 04d5a6ed..3ea6b266 100755 --- a/debian/db/install/pgsql +++ b/debian/db/install/pgsql @@ -1,63 +1,35 @@ #!/bin/bash + set -eu + merchantdb_secretconf=/etc/taler/secrets/merchant-db.secret.conf merchantdb_overrideconf=/etc/taler/merchant-overrides.conf -# get database settings from dbconfig-common and configure -# for ADMINISTRATIVE access -if [ -f /etc/dbconfig-common/taler-merchant.conf ]; then - . /etc/dbconfig-common/taler-merchant.conf - case "$dbc_dbtype" in - pgsql) - echo -e "# Config file auto-generated by Debian.\n[merchant]\nDB=postgres\n\n" > \ - $merchantdb_overrideconf - echo -e "[merchantdb-postgres]\nCONFIG=postgres:///${dbc_dbname}\n\n" > \ - $merchantdb_secretconf - ;; - 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 -# get database settings from dbconfig-common and configure -# for service access! + +# Get database settings from dbconfig-common and write Taler configuration files. if [ -f /etc/dbconfig-common/taler-merchant.conf ]; then - . /etc/dbconfig-common/taler-merchant.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" + . /etc/dbconfig-common/taler-merchant.conf + case "$dbc_dbtype" in + pgsql) + echo -e "# Config file auto-generated by Debian.\n[merchant]\nDB=postgres\n\n" > \ + $merchantdb_overrideconf + # We assume ident auth here. We might support password auth later. + echo -e "[merchantdb-postgres]\nCONFIG=postgres:///${dbc_dbname}\n\n" > \ + $merchantdb_secretconf + # Run database initialization logic + sudo -u taler-merchant-httpd taler-merchant-dbinit -c /etc/taler/taler.conf + ;; + 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 -e "[merchantdb-postgres]\nCONFIG=postgres://${dbc_dbuser}:${dbc_dbpass}@${dbc_dbserver}/${dbc_dbname}\n\n" > \ - $merchantdb_secretconf - echo -e "[merchant]\nDB=postgres\n\n" > \ - $merchantdb_overrideconf - ;; - 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 + *) + echo "Unsupported database type $dbc_type." + exit 1 + ;; + esac fi -# Run database initialization logic -sudo -u postgres taler-merchant-dbinit -c /etc/taler/taler.conf |