không thể lưu lịch sử vào tập tin /var/lib/postgresql/.psql_historyiến: Không có tập tin hoặc thư mục như vậy


8

Tôi đang theo hướng dẫn này để thiết lập db postgresql của tôi.

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

Sau khi tôi chạy xong lệnh CREATE DATABASE và chạy \ q

Tôi nhận được phản hồi sau đây.

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

Chính xác thì điều gì gây ra điều này và điều này sẽ gây ra cho tôi bất kỳ vấn đề nào?

Thông tin thêm: Phiên bản của postgresql đang được cài đặt là 9.3 và tôi đang cài đặt nó trên Ubuntu Server 14.04 LTS

Câu trả lời:


6

Có, người dùng hệ thống PGQuery (thường là postgres) có thư mục chính được đặt thành / var / lib / postgresql. Tôi đoán bạn đã cài đặt cơ sở dữ liệu của bạn ở một vị trí khác. Vì thư mục đó không tồn tại, chương trình PSQL không thể truy cập thư mục đó để tạo tệp lịch sử của nó. (PSQL là dòng lệnh tương tác cho PGQuery).

Thành thật mà nói, nó không phải là vấn đề lớn. Tệp lịch sử đó chỉ là một danh sách các lệnh được thực thi bên trong giao diện PSQL.

Vì bạn đã cài đặt xong, tôi nghi ngờ bạn sẽ không bao giờ nhìn thấy tin nhắn nữa. Đó là, trừ khi bạn kết nối với PSQL bằng tài khoản của chính mình và bạn tiếp tục nhận được thông báo lỗi tương tự. Trong trường hợp đó, biến HOME của bạn có thể sai. Bạn chưa đăng nhập vào hệ thống của mình vì bạn phải không? Nếu bạn đang dự định sử dụng người dùng đó một cách tương tác (hoàn toàn không được khuyên dùng), thì bạn sẽ phải đặt thư mục HOME của nó thành một số thư mục hợp lệ.

Dưới đây là một số giải pháp tham khảo .


3

Cập nhật thư mục chính của postgres để trỏ đến vị trí cơ sở dữ liệu chính xác.

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


2

Có một lỗi được xác nhận trên Launchpad ảnh hưởng đến PostgreSQL trên Ubuntu 14.04:

Lỗi # 1334714 - Người dùng postgres không thể ghi vào / var / lib / postgresql:

(Báo cáo ngày 2014-06-26, Trạng thái: Đã xác nhận)

Mô tả lỗi

Không thể ghi vào nhật ký lịch sử. Có vẻ như là vấn đề tương tự như lỗi 32696 đã được đánh dấu là đã được sửa lại vào năm 2006. Nhưng, nó cũng xảy ra với tôi sau khi cài đặt trực tiếp vào phiên bản Ubuntu 14.04 Amazon EC2.

Xem thêm:

Lỗi # 32696 - Người dùng postgres không thể ghi vào / var / lib / postgresql:

(Báo cáo ngày 2006/02/24, Trạng thái: Đã phát hành bản sửa lỗi)


2

Nếu thư mục của bạn thực sự /var/lib/postgres/thì đây thực sự là một sửa chữa dễ dàng. Chỉ cần tạo tệp .psql_history trong thư mục đó, sau đó cung cấp quyền sở hữu cho người dùng postgres của tệp. Ngay cả sau khi tôi đã làm initdbvà sau đó tạo cơ sở dữ liệu thử nghiệm của mình trong /var/lib/postgres/data/thư mục, một tệp .psql_history vẫn không được tạo. Đối với một số lý do điều này phải được thực hiện bằng tay.

Đây là với PostgreSQL 9.4.5 trên Linux (Arch / Manjaro), được cài đặt từ trình quản lý gói.


0

Bạn cần sửa đổi /etc/passwd.

Đặt vị trí của pgsqlthư mục của bạn trên dòng postgres và thử:

grep postgres /etc/passwd | cut -d ':' -f 6
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.