Odhad:Používáte Fedoru, Red Hat Enterprise Linux, CentOS, Scientific Linux nebo jednu z dalších distribucí, které standardně povolují SELinux.
Buď a na vašem konkrétním OS/verzi zásady SELinux pro PostgreSQL neumožňují serveru číst soubory mimo datový adresář PostgreSQL, nebo byl soubor vytvořen službou, na kterou se vztahuje cílená politika, takže má štítek, že PostgreSQL není povoleno číst z.
Zda se jedná o problém, můžete potvrdit spuštěním jako root:
setenforce 0
poté znovu otestovat. Spustit:
setenforce 1
pro opětovné zapnutí SELinuxu po testování. setenforce
není trvalé; SELinux bude po restartu stejně automaticky znovu povolen. Trvalé vypnutí SELinuxu obvykle není dobrým řešením pro takové problémy; pokud potvrdíte, že problém je SELinux, může být prozkoumán dále.
Protože jste nezadali operační systém nebo verzi, kterou používáte, verzi PostgreSQL, přesný příkaz, který spouštíte, ls -al
v souboru \d+
na stole atd., je těžké uvést nějaké další podrobnosti nebo vědět, zda je to víc než jen odhad. Zkuste aktualizovat svou odpověď tak, aby zahrnovala vše a ls --lcontext
souboru.