我正在尝试执行非交互式 postgres 命令。
PGPASSWORD=$PGPASS psql -h 127.0.0.1 -U postgresql -d $PGDB --command "select count(*) from services"
这给了我这个回应。我读过这可能是因为终端/bash 试图将每个参数分解为
--command
/-c
作为它自己的参数。我也试过这个:
PSQLARGS=(-h 127.0.0.1 -U postgresql -c )
PSQLARGS+=("select count(*) from services;")
PSQLARGS+=(${PGDB})
PGPASSWORD=$PGPASS psql "${PSQLARGS[@]}"
某种强制终端知道它是一个参数的方法,这也不起作用。 最佳答案
在我看来 $PGDB 是空的,所以 psql 认为 --command 是数据库的名称。
关于bash - psql : warning: extra command-line argument "from" ignored,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56706631/