Ich würde vermuten, dass das Problem in den Berechtigungen des übergeordneten Verzeichnisses "/home/john" liegt. Ihr Home-Verzeichnis ist wahrscheinlich so eingerichtet, dass nur Ihr Benutzer darauf zugreifen kann (d. h. chmod 700) (es ist gut, dass Ihr Home-Verzeichnis chmod 700 ist, ändern Sie es nicht).
So etwas wie:
mkdir /BSTablespace chown postgres:postgres /BSTablespace
und dann
CREATE TABLESPACE magdat OWNER maggie LOCATION '/BSTablespace';
sollte gut funktionieren.
Bezüglich des Benutzers Maggie:Datenbankbenutzer sind nicht dasselbe wie OS-Benutzer. Das soll nicht heißen, dass Sie nicht an beiden Orten einen Benutzer mit dem Namen maggie haben könnten – aber Sie müssten den Benutzer sowohl in der Datenbank als auch im Betriebssystem erstellen, damit dies geschieht.