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

  • pain975

    pain975

    27 NİSAN 2008
  • William Hyde

    William Hyde

    23 HAZİRAN 2008