У меня есть два виртуальных компьютера на Azure, назовем их test1 и test2.
postgresql-сервер установлен и работает на test1 (сервер, на котором находится пользователь postgres), но я хочучтобы иметь возможность использовать psql на test2 (target).
До сих пор я редактировал pg_hba.conf, чтобы в его списке хостов был указан IP-адрес цели:
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 trust
host all all XX.XXX.XX.XXX/32 trust
Где XX.XXX.XX.XXX - публичный IP-адрес моей целевой машины, test2 .
Затем я отредактировал файл postgresql.conf, чтобыпрослушивать все адреса, а не только localhost:
listen_addresses = '*' # what IP address(es) to listen on;
# comma-separated list of addresses;
# defaults to 'localhost'; use '*' for all
# (change requires restart)
port = 5432
Я перезагружаю сервер на компьютере хост-сервера, чтобы получить изменения:
pg_ctl -D /path/to/data/ -l logfile reload
Насколько я исследовал, сейчасЯ должен быть в состоянии быть на test2 и просто запустить что-то вроде:
psql -h 127.0.0.1 -U postgres -p 5432
Но всякий раз, когда я делаю, я получаю:
-bash: psql: command not found
Что происходит ??? Кроме того, тестовое соединение с базой данных Hive (уже установлено) продолжает сбой, так как не может подключиться к базе данных.