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

  • Austin Evans

    Austin Evans

    5 AĞUSTOS 2007
  • Booredatwork.com

    Booredatwork

    5 Ocak 2009
  • Warner Bros. UK

    Warner Bros.

    6 HAZİRAN 2008