Бих рискувал да предположа, че проблемът се крие в разрешенията на родителската директория "/home/john". Вашата домашна директория вероятно е настроена така, че само потребителят ви да има достъп (т.е. chmod 700) до нея (добре е домашната ви директория да бъде chmod 700, не го променяйте).
Правейки нещо като:
mkdir /BSTablespace chown postgres:postgres /BSTablespace
и след това
CREATE TABLESPACE magdat OWNER maggie LOCATION '/BSTablespace';
трябва да работи добре.
Относно потребителя maggie:потребителите на бази данни не са същите като потребителите на OS. Това не означава, че не можете да имате потребител и на двете места на име maggie-- но ще трябва да създадете потребителя както в базата данни, така и в операционната система, за да се случи това.