it-swarm.com.de

postgres: einen benutzer zum superuser upgraden?

Wie ändere ich in postgres einen vorhandenen Benutzer in einen Superuser? Ich möchte den vorhandenen Benutzer aus verschiedenen Gründen nicht löschen.

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

Docs.

1203
Quassnoi

So erweitern Sie das Obige und machen eine kurze Referenz:

  • So machen Sie einen Benutzer zu einem SuperUser: ALTER USER username WITH SUPERUSER;
  • So machen Sie einen Benutzer nicht länger zum SuperUser: ALTER USER username WITH NOSUPERUSER;
  • Damit der Benutzer nur eine Datenbank erstellen kann: ALTER USER username CREATEDB;

Sie können auch CREATEROLE und CREATEUSER verwenden, um einem Benutzer Berechtigungen zu gewähren, ohne ihn zum Superuser zu machen.

Dokumentation

60
AirCombat

$ su - postgres
$ psql
$ \du; für den Benutzer auf db
Wählen Sie den Benutzer aus, der Superuser sein soll, und:
$ ALTER USER "user" with superuser;

22
el fuser

Führen Sie diesen Befehl aus

alter user myuser with superuser;

Wenn Sie die Berechtigung für einen Benutzer anzeigen möchten, führen Sie den folgenden Befehl aus

\du
8
Chetan kapoor

Möglicherweise ist ein Upgrade auf einen Superuser manchmal keine gute Option. Abgesehen vom Superuser gibt es also viele andere Optionen, die Sie verwenden können. Öffnen Sie Ihr Terminal und geben Sie Folgendes ein:

$ Sudo su - postgres
[Sudo] password for user: (type your password here)
$ psql
[email protected]:~$ psql
psql (10.5 (Ubuntu 10.5-1.pgdg18.04+1))
Type "help" for help.

postgres=# ALTER USER my_user WITH option

Auch die Liste der Optionen auflisten

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'

Also in der Kommandozeile wird es so aussehen

postgres=# ALTER USER my_user WITH  LOGIN

ODER verwenden Sie ein verschlüsseltes Passwort.

postgres=# ALTER USER my_user  WITH ENCRYPTED PASSWORD '5d41402abc4b2a76b9719d911017c592';

ODER Berechtigungen nach einer bestimmten Zeit widerrufen.

postgres=# ALTER USER my_user  WITH VALID UNTIL '2019-12-29 19:09:00';
7
Sandip Debnath

alter user username superuser;

3
Bala

Sie können ein SUPERUSER erstellen oder USER bewerben.
m zu verhindern, dass der Befehl protokolliert wird, fügen Sie ein Leerzeichen vor dem Befehl ein. Stellen Sie jedoch sicher, dass Ihr System diese Option unterstützt.

$  Sudo -u postgres psql -c "CREATE USER my_user WITH PASSWORD 'my_pass';"

für Ihren Fall oder

$  Sudo -u postgres psql -c "CREATE USER my_user WITH SUPERUSER PASSWORD 'my_pass';"
2
Vasilii Suricov