如何从PostgreSQL命令行运行参数化查询

如何从PostgreSQL命令行运行参数化查询,postgresql,psql,Postgresql,Psql,我想从psql命令行运行以下参数化查询: SELECT * FROM users WHERE username = :username; 如何在命令行上设置username参数 我试过这个: \set username 'john' 但当我运行查询时,会收到以下错误消息: ERROR: column "john" does not exist LINE 3: WHERE username = john; ^ 根据psql文档,要将psql

我想从psql命令行运行以下参数化查询:

SELECT *
FROM users
WHERE username = :username;
如何在命令行上设置username参数

我试过这个:

\set username 'john'
但当我运行查询时,会收到以下错误消息:

ERROR:  column "john" does not exist
LINE 3: WHERE username = john;
                         ^

根据
psql
文档,要将
psql
变量替换为字符串作为文本,请使用
:“variablename”


这并不是通常意义上的参数化查询,因为变量是插入到查询字符串中的<但是,code>psql知道转义单引号,因此变量值
”;删除表用户--将按字面意思显示,而不是结束字符串并运行不需要的SQL。

太棒了!谢谢你的澄清。