私は愚かな間違いをしました。データベースからデータをエクスポートするためのフォルダーにpostgres権限を設定したいと思いました。だから私はSudo chmod 777 -u postgres /home/user
のようなものを設定すると、私のホームパーティションにはroot権限しかなく、root権限なしでは何も機能しません。私はSudo chown user /home/user
を使用してこの問題を解決し、Linuxのファイルマネージャーで手動で権限を設定しました。それは非常に愚かでした、私はディレクトリとユーザーに許可を割り当てることについてあまり知りませんでした。
問題は、データベースに接続できなくなったことです。
~ $ Sudo -u postgres psql
[Sudo] password for user:
could not change directory to "/home/user"
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
Postgresユーザーが読めないフォルダに接続したいと思います。
Sudo service postgresql restart
を使用したサーバーの再起動も機能しません。
PostgreSQL 9.1を使用しています。
私は親戚の助けを借りて問題を解決しました。
最初の問題は、私の/home
および/home/user
フォルダに適切な権限がないことでした。
chmod og+rX /home /home/user
で正しく設定しました。
次に、/home/user
に新しいPGDATA
ディレクトリを作成したことを忘れました。そして、このディレクトリは間違った権限を持っていました。したがって、chown postgres:postrgres -R /home/user/PGDATA
を使用して、ユーザーpostgresに再度設定します。
PostGIS/PostgreSQLデータベースでのラスターデータクエリ中に生成された巨大なログファイルのため、PGDATA
ディレクトリを/home/user
に配置することにしました。ときどきクエリにSublime Text 2を使用していて、データベースプロセスを停止せずにSublime Text 2を終了すると、ログファイルがどんどん大きくなり、スペースが足りなくなり、何も動作しなくなりました。