我们可以与psql脚本进行交互吗?

时间:2010-09-19 15:14:51

标签: postgresql

我们可以做类似的事吗

\echo 'Type username to show its properties';
SELECT * FROM mY_users WHERE username = ?;
\echo 'End of script';

在psql脚本文件中?

系统会等到我们输入内容然后回显“脚本结束”字符串。

3 个答案:

答案 0 :(得分:6)

我刚刚意识到内部并不意味着在postgresql.conf中定义了变量。

所以,我可以使用\prompt

\prompt 'Please, enter an username ', my_user
SELECT * FROM mY_users WHERE username = :my_user;
\echo 'End of script'  

修改

与命令\ echo类似,您最后不需要添加;。实际上,如果您在使用\prompt时添加一个,则会收到错误。

您可以显示使用从标准输入读取的值。

\echo 'Here\'s the value read from stdin : ' :my_user

答案 1 :(得分:2)

COPY命令也许可以帮助与stdin进行交互,

 COPY t(a) FROM stdin;

此示例与

相同
\prompt 'Please, enter a string ', mystr
insert into t(a) values ( ':mystr' );

与引号混淆较少,以及执行大量输入任务的可能性。

答案 2 :(得分:-1)