Розташування postgresql.conf та pg_hba.conf на сервері Ubuntu


16

Де розміщені файли postgresql.confта pg_hba.confна сервері Linux, на якому працює PostgreSQL 8.4, з Ubuntu repos?


4
Проблема - це ж / б стілець та клавіатура. Це залежить від того, як ви її встановили. Ви використовували вихідний файл tar-gz або використовували утиліту apt. Якщо ви завантажили файл tar-gzipped і встановили його. Файл pg_hba.conf ще не існує, якщо ви не ініціалізуєте свій каталог даних. Файл INSTALL / Readme містить цю інформацію. Ви знайдете файл pg_hba.conf у будь-якому обраному вами каталозі даних. По-друге, якщо ви використовували утиліту apt, то ви повинні знайти її в /etc/postgresql/8.4/main, ви також можете зробити "знайти" на ім'я файлу, але це зробити на всьому диску забирає процесор.
Ніколас Сакич

Встановлюючи з джерела до місця установки за замовчуванням, ви запускаєте наступне: / usr / local / pgsql / bin / initdb -D / usr / local / pgsql / дані перед запуском postgres і hba-файлу будуть створені в цьому каталозі.
Ніколяс Сакич

Відповіді:


16

Шукати "pg_hba.conf ubuntu" в Google дає вам

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

який показує розташування файлів.

У документації зазначено наступне:

Аутентифікація клієнта управляється файлом конфігурації, який традиційно називається pg_hba.conf і зберігається в каталозі даних кластера баз даних. (HBA розшифровується як автентифікація на основі хоста.) Файл pg_hba.conf встановлюється за замовчуванням, коли каталог даних ініціалізується initdb. Однак файл конфігурації автентифікації можна розмістити в іншому місці; див. параметр конфігурації hba_file.

Зауважте, він говорить, що він зберігається в каталозі даних кластера баз даних, і що його можна розмістити в іншому місці за допомогою параметра конфігурації. Офіційна документація не може вказувати на певну папку, оскільки фактичне розташування залежить від того, як виробник ОС та адміністратор машини встановили PostgreSQL. Пам'ятайте, що PostgreSQL підтримує безліч різних операційних систем (і дистрибутивів Linux.)

Як показує Neutrino , якщо ви можете отримати доступ до свого сервера через psql, ви можете сказати йому, щоб показати вам файл.

Також два поради:

  1. Знайти файли допоможуть вам знайти файли, яким ви знаєте ім'я, але не їх місцезнаходження
  2. Дистрибутиви на основі Debian розміщують під / usr / share / doc документацію про те, як вони встановлюють різні пакети за замовчуванням, я впевнений, що ви знайдете під /usr/share/doc/postgresql-8.4 (а може просто просто postgresql) інформацію про файли конфігурації. Дуже корисно читати, якщо вони змінили деяку стандартну поведінку.

Дайте людині рибу ... бла-бла, навчіть людину ловити рибу .. і т.д. Універсально. show hba_file; в psql. Дивіться відповідь @ нейтрино.
Арно Меурет

Якщо і тільки якщо ви можете отримати доступ до запущеного екземпляра PostgreSQL. Якщо ваш файл HBA зіпсований, ви, можливо, не зможете. Я пов’язав відповідь Нейтрино.
Вінко Врсалович

15

Відкрийте командний рядок.

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

Коли вони змінюють назви параметрів конфігурації, або ви хочете побачити щось інше.

=# show all;



2

Як сказав Вінко, розташування залежить від розподілу. Щоб додати його відповідь:

Програмне забезпечення для управління пакунками підкаже вам, де розташовані файли, встановлені кожним пакетом (наприклад dpkg -L postgresql:).

Ви також можете заглянути в сценарій запуску служби (як правило /etc/init.d/postgresql)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.