web-dev-qa-db-ja.com

履歴をファイル「/var/lib/postgresql/.psql_history」に保存できませんでした:そのようなファイルまたはディレクトリはありません

このチュートリアルに従って、postgresql dbをセットアップします。

http://inventtheweb.blogspot.ca/2012/05/install-postgresql-for-Django.html

CREATE DATABASEコマンドの実行を終了して\ qを実行した後

次の応答が返ってきます。

could not save history to file "/var/lib/postgresql/.psql_history": No such file or directory

これを正確に引き起こしているのは何ですか?これは私に問題を引き起こしますか?

詳細情報:インストールされているpostgresqlのバージョンは9.3であり、Ubuntu Server 14.04 LTSにインストールしています。

8
noahandthewhale

はい、PGSQLシステムユーザー(通常はpostgres)のホームディレクトリは/ var/lib/postgresqlに設定されています。データベースを別の場所にインストールしたと思います。そのディレクトリが存在しないため、PSQLプログラムはそのフォルダーにアクセスして履歴ファイルを作成できません。 (PSQLはPGSQLの対話型コマンドラインです)。

正直なところ、それほど大きな問題ではありません。その履歴ファイルは、PSQLインターフェイス内で実行されたコマンドのリストにすぎません。

インストールが完了したので、メッセージが再び表示されることはないと思います。つまり、自分のアカウントを使用してPSQLに接続し、同様のエラーメッセージが引き続き表示される場合を除きます。その場合、HOME変数が間違っている可能性があります。 postgresはあなたとしてシステムにログインしていませんか?そのユーザーをインタラクティブに使用することを計画している場合(まったくお勧めしません)、そのHOMEディレクトリを有効なフォルダーに設定する必要があります。

ここにいくつかの参照ソリューションがあります

6
efesar

正しいデータベースの場所を指すようにpostgresのホームディレクトリを更新します。

Sudo usermod --home '/path/to/database' postgres

3

Launchpadには、Ubuntu 14.04のPostgreSQLに影響する確認済みのバグがあります。

バグ#1334714-ユーザーpostgresが/ var/lib/postgresqlに書き込めない:

(2014年6月26日報告、ステータス:確認済み)

バグの説明

履歴ログに書き込めません。 2006年に修正済みとマークされたバグ32696と同じ問題のようです。しかし、Ubuntu 14.04 Amazon EC2インスタンスに直接postgressをインストールした後も、私に起こります。

以下も参照してください。

バグ#32696-ユーザーpostgresが/ var/lib/postgresqlに書き込めない:

(2006-02-24に報告、ステータス:修正リリース)

2
rsp

ディレクトリが実際に/var/lib/postgres/である場合、これは実際には簡単な修正です。そのディレクトリに.psql_historyファイルを作成し、postgresユーザーにファイルの所有権を与えるだけです。 initdbを実行して/var/lib/postgres/data/ディレクトリにテストデータベースを作成した後でも、.psql_historyファイルは作成されませんでした。何らかの理由で、これは手動で行う必要があります。

これは、Linux(Arch/Manjaro)上のPostgreSQL 9.4.5であり、パッケージマネージャーからインストールされます。

2

/etc/passwdを変更する必要があります。

pgsqlフォルダーの場所をpostgres行に置いて、次のことを試してください。

grep postgres /etc/passwd | cut -d ':' -f 6
0
melocoton