Postgresで、既存のユーザをスーパーユーザにするにはどうすればいいですか?さまざまな理由から、既存のユーザーを削除したくありません。
# alter user myuser ...?
ALTER USER myuser WITH SUPERUSER;
上記を拡張して簡単に参照するには:
ALTER USER username WITH SUPERUSER;
ALTER USER username WITH NOSUPERUSER;
ALTER USER username CREATEDB;
CREATEROLE
およびCREATEUSER
を使用して、スーパーユーザーにならずにユーザー特権を許可することもできます。
$ su - postgres
$ psql
dbのユーザーを表示するには$ \du;
スーパーユーザーになりたいユーザーを選択してください。
$ ALTER USER "user" with superuser;
このコマンドを実行
alter user myuser with superuser;
ユーザーの許可を見たい場合は、次のコマンドを実行してください。
\du
スーパーユーザーにアップグレードするのは良い方法ではないかもしれません。スーパーユーザー以外にも、他にもたくさんのオプションがあります。端末を開き、次のように入力します。
$ Sudo su - postgres
[Sudo] password for user: (type your password here)
$ psql
postgres@user:~$ psql
psql (10.5 (Ubuntu 10.5-1.pgdg18.04+1))
Type "help" for help.
postgres=# ALTER USER my_user WITH option
オプションのリストも一覧表示
SUPERUSER | NOSUPERUSER | CREATEDB | NOCREATEDB | CREATEROLE | NOCREATEROLE |
CREATEUSER | NOCREATEUSER | INHERIT | NOINHERIT | LOGIN | NOLOGIN | REPLICATION|
NOREPLICATION | BYPASSRLS | NOBYPASSRLS | CONNECTION LIMIT connlimit |
[ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password' | VALID UNTIL 'timestamp'
そのため、コマンドラインでは次のようになります。
postgres=# ALTER USER my_user WITH LOGIN
または暗号化パスワードを使用してください。
postgres=# ALTER USER my_user WITH ENCRYPTED PASSWORD '5d41402abc4b2a76b9719d911017c592';
または特定の時間後に権限を取り消します。
postgres=# ALTER USER my_user WITH VALID UNTIL '2019-12-29 19:09:00';
ユーザー名を変更します。
あなたはSUPERUSER
を作成するかUSER
を宣伝することができます
コマンドがログに記録しないようにするには、コマンドの前に空白を挿入します。ただし、システムがこのオプションをサポートしていることを確認してください。
$ Sudo -u postgres psql -c "CREATE USER my_user WITH PASSWORD 'my_pass';"
あなたの場合は
$ Sudo -u postgres psql -c "CREATE USER my_user WITH SUPERUSER PASSWORD 'my_pass';"