设置为“有效的,直到”的值与计算出的时间戳

问题描述 投票:2回答:2

我要创建用户或超过当前时间计算的时间戳更改密码。例:

# CREATE USER user WITH PASSWORD 'password12345678' VALID UNTIL '(NOW() + interval 1 month)';

当然,这不是有效的:

错误:用于与时区类型时间戳无效输入语法:“(NOW()+间隔1个月)”

sql postgresql
2个回答
1
投票

CREATE USER实用的命令不接受表达式,只有文字。你需要动态SQL。

DO
$do$
BEGIN
   EXECUTE format($$CREATE USER myuser WITH PASSWORD 'password12345678' VALID UNTIL %L$$, NOW() + interval '1 month');
END
$do$;

详细说明:


1
投票

我不熟悉的PostgreSQL但它似乎想要以下一个快速谷歌搜索:

CURRENT_DATE + INTERVAL '1 month';
© www.soinside.com 2019 - 2024. All rights reserved.