Jag skulle riskera att gissa att problemet ligger i behörigheterna för den överordnade katalogen "/home/john". Din hemkatalog är förmodligen inställd så att bara din användare har tillgång (dvs. chmod 700) till den (det är bra att din hemkatalog är chmod 700, ändra den inte).
Att göra något som:
mkdir /BSTablespace chown postgres:postgres /BSTablespace
och sedan
CREATE TABLESPACE magdat OWNER maggie LOCATION '/BSTablespace';
borde fungera bra.
Angående användaren maggie:databasanvändare är inte samma som OS-användare. Det betyder inte att du inte kan ha en användare på båda ställena som heter maggie - men du måste skapa användaren i både databasen och operativsystemet för att det ska hända.