如何在PostgreSQL的psql客户端中获取select字段的变量
在psql客户端中:运行如何在PostgreSQL的psql客户端中获取select字段的变量,postgresql,psql,Postgresql,Psql,在psql客户端中:运行 选择pg\u backend\u pid()ospid\gset \echo:ospid 这可以得到ospid值 但是:我想把echo ospid col值归档 \!echo'a':ospid'b'>/tmp/test.log 我怎样才能修好它? 谢谢。正如上面所说: 与大多数其他元命令不同,该行的整个剩余部分始终被视为\的参数,并且在参数中既不执行变量插值也不执行反引号扩展 您可以使用\g: test=> \pset format unaligned Outpu
选择pg\u backend\u pid()ospid\gset
\echo:ospid
这可以得到ospid值
但是:我想把echo ospid col值归档
\!echo'a':ospid'b'>/tmp/test.log
我怎样才能修好它?
谢谢。正如上面所说:
与大多数其他元命令不同,该行的整个剩余部分始终被视为\的参数代码>,并且在参数中既不执行变量插值也不执行反引号扩展
您可以使用\g
:
test=> \pset format unaligned
Output format is unaligned.
test=> \pset tuples_only
Tuples only is on.
test=> SELECT pg_backend_pid() ospid \gset
test=> SELECT 'a ' || :ospid || ' b' \g /tmp/test.log
谢谢@Laurenz Albe
我的目标是设置终端标题
我在处理这个问题
\pset tuples_only on
\pset border 0
SELECT user,pg_backend_pid() ospid \g ./_ospid.log
\echo '******** ospid:=[':ospid'] user:=[':user']********'
\! echo -ne '\033]0;'`cat ./_ospid.log`'\007' ;
\pset tuples_only off
\pset border 2