对变量使用shell脚本存储PostgreSQL查询

对变量使用shell脚本存储PostgreSQL查询,postgresql,shell,Postgresql,Shell,我想将以下postgreSQL查询结果存储在一个变量中。我正在用shell脚本编写命令 psql -p $port -c "select pg_relation_size ('tableName')" postgres 我需要变量将结果保存到文件中。我试过跟随,但不起作用 var= 'psql -p $port -c "select pg_relation_size ('tableName')" ' 要以内联方式运行查询,您必须使用严重的重音符号(而不是单引号)对其进行包装: $ vim

我想将以下postgreSQL查询结果存储在一个变量中。我正在用shell脚本编写命令

psql -p $port -c "select pg_relation_size ('tableName')" postgres
我需要变量将结果保存到文件中。我试过跟随,但不起作用

var= 'psql -p $port -c "select pg_relation_size ('tableName')" '

要以内联方式运行查询,您必须使用严重的重音符号(而不是单引号)对其进行包装:

 $ vim `which fancyexecfileinpath`
psql允许您从命令行运行查询,但我想您应该输入完整的信息。您可能缺少数据库名称

postgres@slovenia:~$ psql -d mydbname -c "select * from applications_application;" 
postgres@slovenia:~$ specialvar=`psql -d flango -c "select * from     applications_application;"`
postgres@slovenia:~$ echo $specialvar
id | name | entities | folder | def_lang_id | ... | 2013-07-09 15:16:57.33656+02 | /img/app3.png (1 row)
postgres@slovenia:~$ 
将其指定给
specialvar
否则,您将把它设置为字符串。
变量与等号(“=”)和值()之间不应存在任何空格。

在此处使用shell
文档
如:

#!/bin/sh
COUNT=`psql -A -t -q -U username mydb << THE_END
SELECT count (DISTINCT topic_id) AS the_count
FROM react
THE_END`

echo COUNT=${COUNT}

请不要忘记接受答案或询问更多信息。
#!/bin/sh

DB_NAME="my_db"
USR_NAME="my_name"
TBL_NAME="my_table"
COL_NAME="my_column"

COUNT=`psql -A -t -q -U ${USR_NAME} ${DB_NAME} << THE_END
SELECT COUNT(DISTINCT ${COL_NAME} ) AS the_count
FROM ${TBL_NAME}
THE_END`

echo COUNT=${COUNT}