Я ищу что-то выше уровня программных манипуляций с файлами, команды или библиотеки Python. Кажется, что нет альтернативы редактированию файла (при условии, что http://www.postgresql.org/docs/9.2/static/auth-pg-hba-conf.html упомянет альтернативу).
1 ответ
5
Попробуйте augeas. Он предлагает как привязки Python, так и интерфейс командной строки - augtool.
[dba@pgsql ~]$ augtool
augtool> defvar pghba /files/var/lib/pgsql/data/pg_hba.conf
augtool> ####################################
augtool> ls $pghba
#comment[1] = this is a comment
1/ = (none)
2/ = (none)
#comment[2] = this another comment
3/ = (none)
augtool> ####################################
augtool> ls $pghba/1
type = local
database = all
user = all
method = trust
augtool> ####################################
augtool> insert 01 after $pghba/2
augtool> set $pghba/01/type host
augtool> set $pghba/01/database db1
augtool> set $pghba/01/user user1
augtool> set $pghba/01/address 127.0.0.1
augtool> set $pghba/01/method md5
augtool> ####################################
augtool> save
Saved 1 file(s)
(Комментарии начинаются с #
)