首页 > 解决方案 > 如何将 PSQL 变量传递给 CREATE USER 的 PASSWORD 选项?

问题描述

我在下面的 sql 脚本(create-user.sql)中有一个 do 块,用于创建用户

do $$
begin
 create user :user_name with password ':pass';
exception
 when duplicate_object then
   raise notice 'user already exists';
end$$

我想将 user_name 和 'pwd' 传递给这个脚本,所以我使用了 -v 选项

psql --host="myhost" --port=5432 --username=connectionuser --dbname=xyz -v user_name=myuser -v pass=mypass -f create-user.sql

当我执行命令时,它会抛出一个错误

“:”处或附近的语法错误

如何将变量传递给 sql 脚本?我什至尝试过 := 而不是 : ,但抛出了类似的错误

标签: postgresqlshellvariablescommand-line-argumentspsql

解决方案


推荐阅读