Süper kullanıcı giriş yapmasına izin verilmez


32

Aşağıdaki komutla bir süper kullanıcı portalı oluşturdum

create role portal with superuser password 'portal'

Portal kullanıcısı ile postgrese girmeye çalıştığımda raylarda aşağıdaki hatayı alıyorum.

FATAL:  role "portal" is not permitted to log in

Neler olduğunu takip edemiyorum.

Tabii ki, portalı kullanıcının oturum açmasını sağlamak için kullanıcıyı login komutuyla değiştirebilirim. Süper kullanıcının neden giriş yapamadığını anlamak istiyorum.


2
Bir Çünkü role. Oturum asla Sen kullanılmış olmalıdır create usergiriş yapabilirsiniz şey istiyorum.
a_horse_with_no_name

1
@ a_horse_with_no_name Kesin olarak, rol ile kullanıcı arasında bir fark yoktur, ancak CREATE ROLEve arasındadır CREATE USER, Craig'in cevabına bakınız.
dezso

Yanıtlar:


57

LOGINHak belirtmediniz :

ALTER ROLE portal WITH LOGIN;

Eğer kullanırsanız CREATE USERyerine sağ otomatik verilir; Aksi halde , ifadeyi yan tümcesinde belirtmelisiniz .CREATE ROLELOGINWITHCREATE

Süper kullanıcılar doğası gereği LOGINhakkı yoktur; Bu hak için süper kullanıcı için hala bir izin kontrolü yapılır. Bunun nedeni, yapabileceğiniz bir üst kullanıcı rolüne sahip olmanız SET ROLE, ancak doğrudan olarak bağlanamamanızdır.


4
CREATE ROLE 'portal' WITH LOGIN SUPERUSER PASSWORD 'portal';

Siteye Hoşgeldiniz! Cevabınız bir açıklamadan yoksundur - etrafına bakarsanız, iyi cevaplar size sadece neyi değil, neden yapmanız gerektiğini de söyler . Bu bakış açısıyla, cevabınız Craig'ten birine ne ekliyor?
dezso 7:15
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.