psql: warning: дополнительный аргумент командной строки «from» игнорируется - PullRequest
0 голосов
/ 21 июня 2019

Я пытаюсь выполнить неинтерактивную команду postgres.

PGPASSWORD=$PGPASS psql -h 127.0.0.1 -U postgresql -d $PGDB --command "select count(*) from services"

Который дал мне этот ответ.

psql: предупреждение: дополнительный аргумент командной строки "from" игнорируется

psql: предупреждение: дополнительный аргумент командной строки "services;" проигнорировано

psql: предупреждение: дополнительный аргумент командной строки "mydbname" игнорируется

psql: FATAL: база данных "count (*)" не существует

Я читал, что это может быть потому, что терминал / bash пытается разбить каждый аргумент до --command / -c как своего собственного аргумента.

Я тоже пробовал это:

PSQLARGS=(-h 127.0.0.1 -U postgresql -c )
PSQLARGS+=("select count(*) from services;")
PSQLARGS+=(${PGDB})
PGPASSWORD=$PGPASS psql "${PSQLARGS[@]}"

Какой-то способ заставить терминал знать, что это один аргумент, это тоже не сработало.

1 Ответ

0 голосов
/ 21 июня 2019

Мне кажется, что $ PGDB пуст, поэтому psql считает, что --command - это имя базы данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...