Vị trí của postgresql.conf và pg_hba.conf trên máy chủ Ubuntu


16

Các tệp postgresql.confpg_hba.confmáy chủ Linux chạy PostgreSQL 8.4 được cài đặt từ repos Ubuntu ở đâu?


4
Vấn đề là b / w ghế và bàn phím. Nó phụ thuộc vào cách bạn cài đặt nó. Bạn đã sử dụng tệp tar-gz nguồn hay bạn đã sử dụng tiện ích apt. Nếu bạn tải tập tin tar-gzipped và cài đặt nó. Tệp pg_hba.conf chưa tồn tại trừ khi bạn khởi tạo thư mục dữ liệu của mình. Tệp INSTALL / Readme có thông tin đó. Bạn sẽ tìm thấy tệp pg_hba.conf trong bất cứ điều gì bạn đã chọn làm thư mục dữ liệu của mình. Thứ hai, nếu bạn đã sử dụng tiện ích apt thì bạn nên tìm thấy nó trong /etc/postgresql/8.4/main, bạn cũng có thể thực hiện 'tìm' trên tên tệp nhưng thực hiện điều đó trên toàn bộ đĩa là tiêu thụ cpu.
Nikolas Sakic

Cài đặt từ nguồn đến vị trí cài đặt mặc định, bạn chạy như sau: / usr / local / pssql / bin / initdb -D / usr / local / pssql / data trước khi bắt đầu postgres và tệp hba sẽ được tạo trong thư mục đó.
Nikolas Sakic

Câu trả lời:


16

Tìm kiếm "pg_hba.conf ubfox" trên Google cung cấp cho bạn

https://help.ubfox.com/community/PostgreSQL

trong đó hiển thị vị trí của các tập tin.

Các tài liệu nêu sau:

Xác thực ứng dụng khách được kiểm soát bởi một tệp cấu hình, theo truyền thống được đặt tên là pg_hba.conf và được lưu trữ trong thư mục dữ liệu của cụm cơ sở dữ liệu. (HBA là viết tắt của xác thực dựa trên máy chủ.) Tệp pg_hba.conf mặc định được cài đặt khi thư mục dữ liệu được khởi tạo bởi initdb. Tuy nhiên, có thể đặt tệp cấu hình xác thực ở nơi khác; xem tham số cấu hình hba_file.

Lưu ý rằng nó được lưu trữ trong thư mục dữ liệu của cụm cơ sở dữ liệu và có thể đặt nó ở nơi khác, thông qua một tham số cấu hình. Tài liệu chính thức không thể chỉ cho bạn một thư mục cụ thể vì vị trí thực tế phụ thuộc vào cả cách nhà sản xuất hệ điều hành và quản trị viên của máy đã thiết lập PostgreQuery. Hãy nhớ rằng PostgreSQL hỗ trợ rất nhiều hệ điều hành khác nhau (và các bản phân phối Linux.)

Như Neutrino cho thấy , nếu bạn có thể truy cập máy chủ của mình thông qua psql, bạn có thể yêu cầu nó hiển thị cho bạn vị trí tệp.

Ngoài ra, hai lời khuyên:

  1. định vị sẽ giúp bạn tìm các tệp bạn biết tên nhưng không phải vị trí
  2. Các bản phân phối dựa trên Debian đặt theo tài liệu / usr / share / doc về cách họ thiết lập các gói khác nhau theo mặc định, tôi chắc chắn bạn sẽ tìm thấy trong /usr/share/doc/postgresql-8.4 (hoặc có thể chỉ là postgresql) về thông tin tập tin cấu hình. Rất hữu ích để đọc trong trường hợp họ đã sửa đổi một số hành vi tiêu chuẩn.

Hãy cho một người đàn ông một con cá ... blah blah, dạy cho một người đàn ông cách câu cá .. vv Cách đúng đắn là biết làm thế nào để có postgres cho bạn biết nơi tập tin. Toàn cầu. show hba_file; trong psql. Xem câu trả lời của @ neutrino.
Arnaud Meuret

Nếu và chỉ khi bạn có thể truy cập vào phiên bản PostgreSQL đang chạy của mình. Nếu tệp HBA của bạn bị rối, bạn có thể không thể. Tôi đã liên kết với câu trả lời của Neutrino.
Vinko Vrsalovic

15

Mở một dấu nhắc lệnh.

> psql -U postgres
=# show hba_file;
=# show config_file

Khi họ thay đổi tên của cài đặt cấu hình, hoặc bạn muốn xem một cái gì đó khác.

=# show all;


3

Có khả năng

/etc/postgresql/9.*/main

2

Như Vinko đã nói, vị trí phụ thuộc vào phân phối. Để thêm vào câu trả lời của anh ấy:

Phần mềm quản lý gói của bạn sẽ cho bạn biết các tệp được cài đặt ở đâu bởi mỗi gói, (ví dụ dpkg -L postgresql:).

Bạn cũng có thể xem bên trong tập lệnh khởi động dịch vụ (thông thường /etc/init.d/postgresql)

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.