zulip/scripts/setup/pgroonga-config

26 lines
805 B
Bash
Executable File

#!/usr/bin/env bash
set -eux
dbversion=$(crudini --get /etc/zulip/zulip.conf postgresql version)
dbname=$(crudini --get /etc/zulip/zulip.conf postgresql database_name 2>/dev/null || echo zulip)
if ! su postgres -c "psql -At -c 'SELECT datname FROM pg_database WHERE NOT datistemplate'" | grep -Fx "$dbname"; then
echo "No database to install into!"
exit 0
fi
sharedir="${1:-/usr/share/postgresql/$dbversion}"
applied_file="$sharedir/pgroonga_setup.sql.applied"
installed_version=$(dpkg-query --show --showformat='${Version}' "postgresql-$dbversion-pgdg-pgroonga")
if [ ! -f "$applied_file" ]; then
sql="CREATE EXTENSION PGROONGA"
else
sql="ALTER EXTENSION pgroonga UPDATE"
fi
echo "$sql" | su postgres -c "psql -v ON_ERROR_STOP=1 $dbname"
echo "$installed_version" >"$applied_file"