@a_horse_with_no_name swoim komentarzem skierował mnie na właściwe tory. Postanowiłem porzucić tryb pojedynczego użytkownika, nawet jeśli był „zalecany”. Zamiast tego uruchamiam postgres za pomocą pg_ctl, ładuję kilka plików sql zawierających moje kreacje tabel i zatrzymuję serwer za pomocą pg_ctl.
Mój skrypt powłoki wygląda tak:
#!/bin/bash
echo "******CREATING DOCKER DATABASE******"
echo "starting postgres"
gosu postgres pg_ctl -w start
echo "bootstrapping the postgres db"
gosu postgres psql -h localhost -p 5432 -U postgres -a -f /db/bootstrap.sql
echo "initializing tables"
gosu postgres psql -h localhost -p 5432 -U postgres -d orpheus -a -f /db/setup.sql
echo "stopping postgres"
gosu postgres pg_ctl stop
echo "stopped postgres"
echo ""
echo "******DOCKER DATABASE CREATED******"