如何将值从psql返回到bash并使用它?

27 postgresql psql

假设我在postgresql中创建了一个序列:

CREATE SEQUENCE my_seq;
Run Code Online (Sandbox Code Playgroud)

我将以下行存储在sql文件get_seq.sql中

SELECT last_value FROM my_seq;

$SUDO psql -q -d database_bame -f get_seq.sql
Run Code Online (Sandbox Code Playgroud)

如何将SELECT返回的int数字转换为bash并使用它?

Tom*_*ico 44

您可以使用VAR = $(命令)语法捕获命令的结果:

VALUE=$(psql -qtAX -d database_name -f get_seq.sql)
echo $VALUE
Run Code Online (Sandbox Code Playgroud)

所需的psql选项意味着:

-t 只有元组

-A 输出不是未对齐的

-q 安静

-X 不要运行.psqlrc文件


Lor*_*con 5

尝试:

LAST_VALUE=`echo "SELECT last_value FROM my_seq;" | psql -qAt -d database_name`
Run Code Online (Sandbox Code Playgroud)