推測:Fedora、Red Hat Enterprise Linux、CentOS、Scientific Linux、またはデフォルトでSELinuxを有効にする他のディストリビューションの1つを使用しています。
特定のOS/バージョンでは、PostgreSQLのSELinuxポリシーにより、サーバーがPostgreSQLデータディレクトリ外のファイルを読み取ることが許可されていないか、ファイルが対象のポリシーの対象となるサービスによって作成されたため、PostgreSQLではないというラベルが付けられています。からの読み取りが許可されています。
rootとして実行すると、これが問題であるかどうかを確認できます:
setenforce 0
その後、再テストします。実行:
setenforce 1
テスト後にSELinuxを再度有効にします。 setenforce
永続的ではありません。とにかく、SELinuxは再起動時に自動的に再度有効になります。 SELinuxを永続的に無効にすることは、通常、このような問題の良い解決策ではありません。問題がSELinuxであることが確認された場合は、さらに調査することができます。
使用しているOSまたはバージョン、PostgreSQLのバージョン、実行している正確なコマンド、ls -al
を指定していないため ファイル上で、\d+
テーブルなどで、これ以上詳細を説明したり、これが推測以上のものであるかどうかを知ることは困難です。答えを更新して、それらすべてとls --lcontext
を含めてみてください ファイルのも。