базе postgresql в скрипте bash?
что то примерно такого, только рабочее)
ssh -L 6333:localhost:5432 root@192.168.1.10 sudo -u postgres -H -- psql -d bdname -t -A -c 'SELECT * FROM project'
ssh -t <host> sudo -u postgres "psql -d <dbname> -c '<запрос>'"
Если вам нужно полученные данные потом куда-нибудь передавать, для чистого вывода так: ssh -o LogLevel=QUIET <хост> sudo -u postgres -H "psql -t -A -d <имя_бд> -c '<запрос>'" Предварительно на хосте создайте доп. файл для sudo: echo '<пользователь> ALL=(postgres) NOPASSWD: /usr/bin/psql' | sudo tee /etc/sudoers.d/psql
Как правильно передать из скрипта текстовый параметр в запросе например where project = 'TEST' ; сейчас получаю ошибку, что данный столбец не найден. Если просто из консоли отправить такой запрос возвращает результат?
Точнее как тут правильно экранировать надо условие TEST?
Хороший вопрос, завтра освежу свои знания по экранированию в шелле, вероятно, даже отвечу
Апдейт: USERNAME_='postgres' ssh -o LogLevel=QUIET spica sudo -u postgres -H "psql -d postgres -c \"SELECT * FROM pg_catalog.pg_user WHERE usename='$USERNAME_'\"" Написал запрос как есть, править лень
Спасибо большое
Обсуждают сегодня