SORU
17 Aralık 2011, CUMARTESİ


Nasıl eğer isim bir kullanıcı olup olmadığını kontrol etmek için?

createuser PostgreSQL kullanıcı (ROL) oluşturulmasını sağlar. Eğer bu kullanıcı ismi zaten var olmadığını kontrol etmek için basit bir yolu var mı? Aksi halde bir hata ile createuser verir:

createuser: creation of new role failed: ERROR:  role "USR_NAME" already exists

GÜNCELLEME: çözümü daha kolay bir komut dosyası içinde otomatikleştirme böylece kabuk tercihen yürütülebilir olmalıdır.

CEVAP
17 Aralık 2011, CUMARTESİ


SELECT 1 FROM pg_roles WHERE rolname='USR_NAME'

Ve komut satırı açısından (Erwin için teşekkürler):

psql postgres -tAc "SELECT 1 FROM pg_roles WHERE rolname='USR_NAME'"

Verimleri 1 bulundu ve başka bir şey.

Yani:

psql postgres -tAc "SELECT 1 FROM pg_roles WHERE rolname='USR_NAME'" | grep -q 1 || createuser ...

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • curioustravelers

    curioustrave

    12 AĞUSTOS 2006
  • vgeller1

    vgeller1

    22 Kasım 2009
  • Vsauce

    Vsauce

    30 Temmuz 2007