我要创建用户或超过当前时间计算的时间戳更改密码。例:
# CREATE USER user WITH PASSWORD 'password12345678' VALID UNTIL '(NOW() + interval 1 month)';
当然,这不是有效的:
错误:用于与时区类型时间戳无效输入语法:“(NOW()+间隔1个月)”
像CREATE USER
实用的命令不接受表达式,只有文字。你需要动态SQL。
DO
$do$
BEGIN
EXECUTE format($$CREATE USER myuser WITH PASSWORD 'password12345678' VALID UNTIL %L$$, NOW() + interval '1 month');
END
$do$;
详细说明:
我不熟悉的PostgreSQL但它似乎想要以下一个快速谷歌搜索:
CURRENT_DATE + INTERVAL '1 month';