PostGIS / QGIS'de INSERT'e ilişkin ayrıcalıklar


12

Sadece UPDATE, INSERT, DELETE ve tabii ki coğrafi tablolarda SELECT yapabilirsiniz kullanıcılar için benim veritabanı ayrıcalıkları ayarlamaya çalışıyorum.

Kimliklerim için bazı SERİ türleri kullandığım için, kullanıcılara bu alanı manuel olarak düzenleme olanağı vermemeyi tercih ederim. Bu yüzden sütun bilge ayrıcalıkları tanımlıyorum. UPDATE kısmında iyi çalışıyor, ancak QGIS'te yeni bir nesnenin oluşturulmasına izin veren düğme gri renkte kalıyor. Çalışmanın tek yolu ayrıcalık tanımında herhangi bir alan belirtmemek. Tüm alanları seçtiğimde bile işe yaramıyor (herhangi bir sütun belirtmemeyi ve hepsini belirtmemeyi düşünürdüm bile).

Anlamadığım bir şey gibi görünüyor ya da DB ve QGIS arasında uygun etkileşim için ayrıcalık tanımında bir sınırlama var. Neler olduğunu anlamama yardımcı olabilecek ve / veya (hatta daha iyisi) hedefime ulaşmama yardımcı olabilecek herhangi bir bilgi veya tavsiyeye sahip mi?

Alanla stil tanımında düzenlenemez olarak ayarlayarak her zaman başa çıkabilirim, ancak herkes istediği gibi ayarlayabildiğinden, daha güvenli bir alternatifi tercih ederim.

PostgreSQL 9.5 için QGIS 2.14, PostGIS 2.3 çalıştırılıyor.


Kullanıcı haklarını (ayrıcalıkları) ayarlamak için GRANT SQL komutunu kullanıyor musunuz? Masanıza VERDİĞİNİZ Mİ?
Zoltan

@Zoltan Evet, sorgum şöyle görünüyorGRANT INSERT (col2, col3, col4) ON table TO users
GuiOm Clair

5
INSERT haklarına sahip olması gereken kullanıcının birincil anahtar sütununda tam haklara sahip olması gerekir. Aksi takdirde eki yapamaz. Bunun etrafında bir yol olduğunu sanmıyorum. Bu sütunun görünürlüğünü yalnızca daha önce de belirtildiği gibi QGIS'te sınırlandırabilirsiniz.
Micha

1
@Micha Tamam, gerçekten de tam anlamıyla böyle söyleniyor ... Sanırım, başka bir anahtar için sütuna özgü bir tetikleyici tarafından başka bir geçici çözüm var, başka bir anahtar için INSERT DO NOTHING ve UPDATE ON NOTHING YAPMAYIN. birincil anahtar. Teşekkürler.
GuiOm Clair

3
Veya SERIAL sütunu hariç tablonuzun bir görünümünü oluşturur ve yalnızca bu görünüme erişim verirsiniz.
JoeBe

Yanıtlar:


0

INSERT haklarına sahip olması gereken kullanıcının birincil anahtar sütununda tam haklara sahip olması gerekir. Aksi takdirde eki yapamaz. Bunun etrafında bir yol olduğunu sanmıyorum. Bu sütunun görünürlüğünü yalnızca daha önce de belirtildiği gibi QGIS'te sınırlandırabilirsiniz.

Yorumunuzla ilgili: column-specific trigger ON INSERT DO NOTHING and ON UPDATE DO NOTHING for the primary keyBunun işe yarayacağından emin değilim. Yeni bir satır eklerken, yeni bir birincil anahtar olmalıdır açıkçası, oluşturulacak. Bunu atlatmak istemiyorsun.

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.