stud/II/Referatas/managedb
2020-05-22 20:12:13 +03:00

56 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
main() {
PATH=$PATH:/usr/lib/postgresql/12/bin
case ${1:-} in
init)
mkdir -p db && initdb db
mkdir -p db/wal
sed -i "s/.*unix_socket_dir.*/unix_socket_directories = '.\/wal'/" \
db/postgresql.conf
pg_ctl -D db -l db/logfile start
export PGHOST=127.0.0.1
psql postgres -c 'CREATE ROLE osm WITH SUPERUSER LOGIN'
psql postgres -c 'CREATE DATABASE osm'
psql osm osm -c 'CREATE EXTENSION postgis'
;;
start)
pg_ctl -D db -l db/logfile start
;;
stop)
pg_ctl -D db -l db/logfile stop
;;
"" | --)
[[ $# == 2 ]] && shift
exports
exec psql "$@"
;;
*)
>&2 echo "Unknown command: '$*'"
exit 1
;;
esac
}
exports() {
export PGHOST=127.0.0.1
export PGUSER=osm
export PGDATABASE=osm
}
if [[ "${BASH_SOURCE[0]}" != "${0}" ]]; then
if [[ $# != 0 ]]; then
>&2 echo "Sourcing does not accept arguments: $*"
else
exports
>&2 echo "OK: exported PGUSER, PGHOST and PGDATABASE"
fi
else
set -euo pipefail
export PGHOST=
export PGUSER=
export PGDATABASE=
main "$@"
fi