aboutsummaryrefslogtreecommitdiff
path: root/debian/db/install/pgsql
diff options
context:
space:
mode:
Diffstat (limited to 'debian/db/install/pgsql')
-rwxr-xr-xdebian/db/install/pgsql84
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