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

  • cosmicrocketman

    cosmicrocket

    17 NİSAN 2006
  • martin shervington

    martin sherv

    7 EKİM 2011
  • warningthepeople

    warningthepe

    21 EYLÜL 2011