Я хотел бы получить путь к pg_hba.conf из оболочки. Путь варьируется между версиями PostgreSQL. Например, для 8.4 и 9.1:
/etc/postgresql/8.4/main/pg_hba.conf
/etc/postgresql/9.1/main/pg_hba.conf
Я попробовал команду pg_config, но, похоже, не включает эту информацию.
Это так, что я могу используйте единую команду для открытия pg_hba.conf и других файлов конфигурации PostgreSQL для редактирования.
Я использую bash.
Вот как я это делаю:
john@host:~$ ls /etc/postgresql
9.1
john@host:~$ sudo vim /etc/postgresql/9.1/main/pg_hba.conf
Поскольку путь такой: /etc/postgresql/[VERSION]/main/pg_hba.conf
Я использую следующие для обнаружения файлов конфигурации:
$(ls /etc/postgresql/*/main/pg_hba.conf)
$(ls /etc/postgresql/*/main/postgresql.conf)
Редактирование правильного pg_hba.conf с помощью визуального редактора по умолчанию (vim, emacs, nano, joe и т. д.) так же просто:
$VISUAL /etc/postgresql/$(ls /etc/postgresql)/main/pg_hba.conf
Чтобы узнать, где находится файл, просто введите:
pg_lsclusters