如何在bash变量上存储标量postgresql值,如下面的脚本所示?

dbname="testlauf"
username="postgres"

vartest='psql -c -d $dbname -U $username -h localhost -p 5432 "SELECT gid FROM testtable WHERE aid='1';"'
echo "$vartest"

我试过几篇不同的文章,但似乎都不管用.提前谢谢.

推荐答案

-c选项放在它的参数前面——查询.请注意,使用附加的-t选项只获取元组值.当然,使用backticks(`)操作符.

还建议使用-X选项,因为有时.psqlrc文件可能会添加一些冗余输出,-A选项也会禁用列对齐(空白).

要跳过通知或其他附加消息,请包含-q标志.

vartest=`psql -d $db -U $user -AXqtc "SELECT gid FROM testtable WHERE aid='1'"`

Postgresql相关问答推荐

使用多个分隔符拆分SQL

如何在查询空字段时设置pgtype.comb为默认值?

在Docker容器内的Postgres,如何通过Promail将JSON登录到Loki?

如何在PostgreSQL中以行值的形式获取列

Postgres查询按月和年分组的总计数

GORM Golang SQL查询执行不区分大小写的搜索不起作用

我在try 访问我的数据库表时在 postgresql 中收到 aclcheck_error 错误

Postgres >= 和 <= 具有特殊字符的行为

为什么 postgresql 可以在这个查询中高效地使用索引?

使用间隔参数的 go postgres 准备好的语句不起作用

PostgreSQL 查询到 Excel 表

获取 OperationalError: FATAL: sorry, too many clients already using psycopg2

如何使用 psql 命令列出、创建、使用和判断数据库?

使用枚举与布尔值?

每个数据库提供程序类型允许的最大参数数是多少?

有没有办法确保 WHERE 子句在 DISTINCT 之后发生?

如何从 PostgreSQL 中的 Json 数组中获取元素

如何在 postgresql 中获取整个表的哈希?

用于将布尔列排序为 true、null、false 的 SQL

如何使用 postgresql 按计数排序?