web-dev-qa-db-ja.com

postgres:スーパーユーザーになるようにユーザーをアップグレードしますか?

Postgresで、既存のユーザをスーパーユーザにするにはどうすればいいですか?さまざまな理由から、既存のユーザーを削除したくありません。

# alter user myuser ...?
593
flossfan
ALTER USER myuser WITH SUPERUSER;

ドキュメント。

1169
Quassnoi

上記を拡張して簡単に参照するには:

  • ユーザーをスーパーユーザーにするには:ALTER USER username WITH SUPERUSER;
  • ユーザをもはやスーパーユーザにしないためには:ALTER USER username WITH NOSUPERUSER;
  • ユーザーにデータベースの作成を許可するだけです。ALTER USER username CREATEDB;

CREATEROLEおよびCREATEUSERを使用して、スーパーユーザーにならずにユーザー特権を許可することもできます。

ドキュメンテーション

60
AirCombat

$ su - postgres
$ psql
dbのユーザーを表示するには$ \du;
スーパーユーザーになりたいユーザーを選択してください。
$ ALTER USER "user" with superuser;

21
el fuser

このコマンドを実行

alter user myuser with superuser;

ユーザーの許可を見たい場合は、次のコマンドを実行してください。

\du
8
Chetan kapoor

スーパーユーザーにアップグレードするのは良い方法ではないかもしれません。スーパーユーザー以外にも、他にもたくさんのオプションがあります。端末を開き、次のように入力します。

$ 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';
6
Sandip Debnath

ユーザー名を変更します。

3
Bala

あなたは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';"
2
Vasilii Suricov