Najpierw weź kopię zapasową podanego pg_hba.conf
sudo tar cvf /var/tmp/mybackup_pg_hba_conf.tar /var/lib/pgsql/data/pg_hba.conf
W ten sposób masz gotową starszą wersję, jeśli spieprzysz. Ładną funkcją archiwum tar jest to, że zachowuje uprawnienia i katalogi. Więc kiedy pg_hba.conf jest zepsuty nie do poznania. Możesz:
cd /
sudo tar xvf /var/tmp/mybackup_pg_hba_conf.tar
Spowoduje to przywrócenie kopii zapasowej pg_hba.conf z utworzonego wcześniej archiwum.
Co do faktycznego wstawienia linii:
sudo su -c 'echo "host all all 10.0.2.12 255.255.255.255 trust" >> /var/lib/pgsql/data/pg_hba.conf'
(UWAGA: Polecenie edytowane. Dzięki bortzmeyer!)
Powinien to zrobić. Zauważ, że to po prostu dodaje linię do pg_hba.conf. Jeśli kiedykolwiek będziesz musiał to zmienić, musisz użyć rzeczywistego edytora. Jak vi. Krzywa uczenia się może być nieco stroma, ale po opanowaniu przynajmniej podstaw powinieneś być całkiem bezpieczny w większości każdego środowiska uniksowego, które napotkasz.
Teraz, gdy wróciłem na ścieżkę, powinieneś spróbować ponownie uruchomić bazę danych postgresql. Wydaje mi się, że na maszynie Centos:
sudo service postgresql restart
lub możesz po prostu ponownie załadować konfigurację bez restartu:
su - postgres
pg_ctl reload
Teraz powinieneś mieć dostęp do bazy danych postrgresql Centos-Machines od 10.0.2.12
Nie zapomnij edytować postgresql.conf i zmienić / dodać linię
listen_addresses = '*'
Postgresql domyślnie nasłuchuje na localhost
źródło