Zaryzykowałbym przypuszczenie, że problem leży w uprawnieniach katalogu nadrzędnego "/home/john". Twój katalog domowy jest prawdopodobnie skonfigurowany tak, że tylko twój użytkownik ma do niego dostęp (np. chmod 700) (dobrze, jeśli twój katalog domowy to chmod 700, nie zmieniaj go).
Robienie czegoś takiego:
mkdir /BSTablespace chown postgres:postgres /BSTablespace
a potem
CREATE TABLESPACE magdat OWNER maggie LOCATION '/BSTablespace';
powinien działać dobrze.
Odnośnie użytkownika maggie:użytkownicy bazy danych to nie to samo co użytkownicy systemu operacyjnego. Nie oznacza to, że nie możesz mieć użytkownika w obu miejscach o nazwie maggie — ale musisz utworzyć użytkownika zarówno w bazie danych, jak iw systemie operacyjnym, aby tak się stało.