Ich habe gerade eine externe Festplatte zum Speichern meines neuen Tablespace bereitgestellt.
postgres@vostro ~ $ df -k
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sdb1 480589520 71580 456082280 1% /mnt/DB
postgres@vostro ~ $ ls -l /mnt/DB/
total 4
drwxrwxrwx 2 postgres postgres 4096 May 25 17:02 postgres
demisc@vostro /mnt $ mount | grep -i sdb1
/dev/sdb1 on /mnt/DB type ext4 (rw,nosuid,nodev,relatime,data=ordered)
Ich habe alle erforderlichen Berechtigungen erteilt, damit Posgres die neuen ts in erstellen können /mnt/DB/postgres
. Hier sind die Benutzergruppen:
postgres@vostro ~ $ id
uid=123(postgres) gid=131(postgres) groups=131(postgres),112(ssl-cert),1000(demisc)
Es passiert, dass beim Ausführen des Befehls create tablespace Folgendes angezeigt wird:
postgres=# create tablespace ts_project location '/mnt/DB/postgres';
ERROR: could not set permissions on directory "/mnt/DB/postgres":
Permission denied
Was fehlt mir?
ls -ln /mnt/DB/postgres
kehrt zurück:
demisc@vostro /mnt/DB $ ls -ln /mnt/DB/postgres/
total 0
Alles sieht gut aus. Es gibt keinen Grund, warum Benutzer von postgres den Tabellenbereich nicht erstellen können. Wenn ich zu postgres wechsle und versuche, eine Datei oder ein Verzeichnis im Pfad zu erstellen, funktioniert es einwandfrei.
quelle