PostgreSQL如何获取当前登录用户名?GRANT语句报错解决
PostgreSQL中获取当前登录用户名并用于GRANT语句的正确方法
你原本写法里的${select current_user}是错误的,PostgreSQL不需要这种模板语法来引用当前用户。
正确的写法是直接使用内置的current_user标识符,不需要额外查询或包裹:
GRANT ALL ON "my_table" TO current_user;
补充说明
current_user是PostgreSQL内置的系统变量,直接返回当前执行SQL语句的用户身份,可直接在SQL语句中引用。- 如果是在psql脚本中需要将当前用户赋值给变量再使用,可以这样写:
\set my_user current_user GRANT ALL ON "my_table" TO :my_user;
内容的提问来源于stack exchange,提问作者Joey Yi Zhao
相关产品推荐
相关产品推荐

