问题描述
psql -c "SELECT addUsersFromList(array['userA','userB','userC'])"
这很好用,但是我希望能够以脚本形式运行它,就像这样:
psql -f add_users.sql -v userlist=array['userA','userC'])
和add_user.sql:
SELECT addUsersFromList(:userlist);
psql:Scripts/add_users.sql:39: ERROR: column "userA" does not exist
这似乎与我如何使用-v标志有关。我在同一页上的-v,\ set和变量部分中查看了postgres documentaion,但是找不到分配数组的方法。
解决方法
尝试将数组写为字符串文字:
psql -f add_users.sql -v "userlist='{userA,userB,userC}'"