postgres: kullanıcıyı süper kullanıcı olacak şekilde yükseltmek mi istiyorsunuz?


644

Postgres'te mevcut bir kullanıcıyı süper kullanıcı olarak nasıl değiştirebilirim? Çeşitli nedenlerle mevcut kullanıcıyı silmek istemiyorum.

# alter user myuser ...?

Yanıtlar:


1262
ALTER USER myuser WITH SUPERUSER;

Daha fazla bilgiyi Documentation sitesinde bulabilirsiniz.


157
ters işlem ALTER USER myuser WITH NOSUPERUSER
d.raev

2
ve şu anda kullanıcımın süper kullanıcı olup olmadığını nasıl tespit edebilirim?
ustaca

20
SELECT rolname, rolsuper FROM pg_roles;@masterweily
caulfield

6
Ben: HATA: süper kullanıcı değiştirmek için süper kullanıcı olmalı
Stepan Yakovenko

15
@masterweily \duTüm kullanıcıları / rolleri listelemek için yapabilirsiniz .
XåpplI'-I0llwlg'I -

63

Yukarıdakileri genişletmek ve hızlı bir referans yapmak için:

  • Bir kullanıcıyı Süper Kullanıcı yapmak için: ALTER USER username WITH SUPERUSER;
  • Bir kullanıcıyı artık bir SuperUser yapmak için: ALTER USER username WITH NOSUPERUSER;
  • Kullanıcının bir veritabanı oluşturmasına izin vermek için: ALTER USER username CREATEDB;

Ayrıca CREATEROLEve CREATEUSERkullanıcı ayrıcalıklarına süper kullanıcı yapmadan izin vermek için ve öğelerini kullanabilirsiniz.

belgeleme


27

$ su - postgres
$ psql
$ \du;db üzerindeki kullanıcıyı görmek için
süper kullanıcı olmasını istediğiniz kullanıcıyı seçin ve:
$ ALTER USER "user" with superuser;


bu özel durumda, kullanıcı adını ALTER USER "user" WITH SUPERUSER;
koma

9

Bu Komutu Çalıştır

alter user myuser with superuser;

Aşağıdaki komutu çalıştıran bir kullanıcının iznini görmek istiyorsanız

\du

8

Bazen bir süper kullanıcı sürümüne geçmek iyi bir seçenek olmayabilir. Yani süper kullanıcı dışında kullanabileceğiniz birçok seçenek var. Terminalinizi açın ve aşağıdakileri yazın:

$ 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

Ayrıca seçenekler listesini de listeleme

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'

Yani komut satırında şöyle görünecek

postgres=# ALTER USER my_user WITH  LOGIN

VEYA şifreli bir şifre kullanın.

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

VEYA izinleri belirli bir süre sonra iptal et.

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

4

Bir durum oluşturabilir SUPERUSERveya tanıtabilirsiniz USER.

$ sudo -u postgres psql -c "ALTER USER myuser WITH SUPERUSER;"

veya geri alma

$ sudo -u postgres psql -c "ALTER USER myuser WITH NOSUPERUSER;"

Parola belirlerken bir komutun günlüğe kaydedilmesini önlemek için önüne bir boşluk ekleyin, ancak sisteminizin bu seçeneği destekleyip desteklemediğini kontrol edin.

$  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';"

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.