ユーザのパスワードを初期化する。

ALTER USERでパスワードを変更するときには

ALTER USER foo WITH PASSWORD '';

と、長さ0の文字列ってな感じになって、なんか気持ち悪い、っつーか、nullにしたい。

で、どうするんだと思って調べたら、そもそもユーザ情報を管理してるテーブルを書き換えちゃえばいいことに気が付く。

UPDATE pg_shadow SET passwd = null WHERE usename = 'foo';

で。
ちなみに、postgres(というか、usesysid = 1のユーザ?)を間違って消しちゃったりするとエラいことになってしまうので慎重に。

タイトルとURLをコピーしました