Czy istnieje narzędzie do programowego manipulowania pg_hba.conf (jeśli nie to, co jest najbliższe)? [Zamknięte]

0

Szukam czegoś ponad poziom programowej manipulacji plikami, komendą lub biblioteką Pythona. Wydaje się, że nie ma alternatywy dla edycji pliku (zakładając, że http://www.postgresql.org/docs/9.2/static/auth-pg-hba-conf.html wspomniałby o alternatywie).

Karl Richter
źródło
Myślę, że powinno się o to zapytać Zalecenia dotyczące oprogramowania SE.
Cristian Ciupitu
@@ Karl Richter, jeśli jesteś zadowolony z mojej odpowiedzi, możesz ją zaakceptować, nawet jeśli pytanie jest zamknięte.
Cristian Ciupitu

Odpowiedzi:

5

Próbować augeas . Oferuje oba Powiązania Pythona i interfejs wiersza poleceń - 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)

(Komentarze zaczynają się od # )

Cristian Ciupitu
źródło
Dzięki za to. Po pierwsze, ten przypadek użycia jest augtool -i. Po drugie, mój pg_hba.conf nie jest zlokalizowany w tym katalogu - jak mogę uzyskać augtool do rozpoznawania / używania obiektywu pg_hba dla dowolnej lokalizacji? Po trzecie, widziałem stronę z dokumentacją augeas dla obiektywu pg_hba i ... Grecki jest łatwiejszy do przeczytania: Jak wymyślić, jak „przetłumaczyć” dokumentację obiektywu na polecenia, których użyłeś powyżej?
Otheus
Znalazłem odpowiedzi na pytanie oznaczone jako „Drugie”. W augtool mogę po prostu użyć: set /augeas/load/Pg_Hba/incl[last()+1] "/etc/postgresql_hba.conf" śledzony przez load.
Otheus
@Theus, spojrzałem na przykłady i trochę je zmieniłem.
Cristian Ciupitu