Сначала возьмите резервную копию данного pg_hba.conf
sudo tar cvf /var/tmp/mybackup_pg_hba_conf.tar /var/lib/pgsql/data/pg_hba.conf
Таким образом, у вас есть готовая старая версия, если вы облажаетесь. Приятной особенностью архива tar является то, что он сохраняет права доступа и каталоги. Так что когда pg_hba.conf не работает до неузнаваемости. Вы можете:
cd /
sudo tar xvf /var/tmp/mybackup_pg_hba_conf.tar
Это восстановит резервную копию pg_hba.conf из архива, который вы создали ранее.
Что касается фактической вставки строки:
sudo su -c 'echo "host all all 10.0.2.12 255.255.255.255 trust" >> /var/lib/pgsql/data/pg_hba.conf'
(ПРИМЕЧАНИЕ: команда отредактирована. Спасибо bortzmeyer!)
Должен сделать это. Обратите внимание, что это просто добавляет строку в pg_hba.conf. Если вам когда-либо понадобится изменить его, вы должны использовать настоящий редактор. Как и vi. Эта кривая обучения может быть немного крутой, но после того, как вы изучите хотя бы основы, вы должны быть совершенно безопасны в большинстве любых unix-сред, с которыми вы сталкиваетесь.
Теперь, когда я вернулся на путь, вам следует попытаться перезапустить базу данных postgresql. Я считаю, что на машине Centos это делается:
sudo service postgresql restart
или вы можете просто перезагрузить конфигурацию без перезагрузки:
su - postgres
pg_ctl reload
Теперь у вас должна быть возможность доступа к базе данных Centos-machines postrgresql с 10.0.2.12.
Не забудьте отредактировать postgresql.conf и изменить / добавить строку
listen_addresses = '*'
Postgresql по умолчанию прослушивает localhost
источник