2017-11-20 25 views
0

今後3か月以内に自動的にユーザーのVALID UNTIL値を設定する方法があるかどうかを確認しようとしていました。以下を試しました:将来のユーザーの有効期限を設定する

alter user rchung set valuntil = dateadd(day,90,GETDATE()); 
alter user rchung set valuntil = select dateadd(day,90,GETDATE()); 

構文エラーで両方が失敗しました。

alter user rchung valid until dateadd(day,90,GETDATE()); 

も構文エラーで失敗しました。

誰でもこれで成功しますか?

TIA、 リッチ

答えて

1

PostgreSQLの側の制限であることが表示されます。

パラメータが シンプルなリテラル定数でなければならない--- は、任意の式の評価を行うことはありません、Postgresの中にほとんどすべてのユーティリティステートメントのように、ユーザーを作成します。

VALID UNTIL programmatically in SQL

アマゾン赤方偏移は、PostgreSQLのようなplpgsqlがをサポートしていないので、クライアント側のスクリプトは本当に唯一のオプションです。 psqlの半近代バージョン(9.3+)を使用している場合は、次のように動作します:

select dateadd(day,90,GETDATE()) as expiry; \gset 
alter user myuser valid until :'expiry'; 
+0

私は心配していました。確認していただいてありがとうございます! – rchung77