Satır düzeyinde güvenlik (RLS)
PostgreSQL’de 9.5’ten beri bulunan, satır başına yetkilendirme. Uygulama hangi sorguyu gönderirse göndersin, veritabanı kullanıcının görmemesi gereken satırları kendisi eler.
Tablo başına etkinleştirilir; sonra okunabilecekleri belirleyen bir USING ifadesi ve yazılabilecekleri belirleyen bir WITH CHECK ifadesiyle politikalar yazılır. Koşul sorgu planlayıcısı tarafından sorguya örülür; yani uygulamanın bir yerinde unutulmuş bir WHERE tenant_id = … artık veri sızdırmaz. En yaygın kullanım tam da bu çok kiracılı senaryodur: politika, satırın sahibini bağlantı sırasında ayarlanan bir oturum değişkeniyle karşılaştırır. Üç şey insanları şaşırtır: FORCE belirtilmedikçe tablo sahibi kendi politikalarını atlar, politikalar optimizasyonun neleri yer değiştirebileceğini kısıtladığı için planları bozabilir, ve LEAKPROOF işaretli olmayan fonksiyonlar teoride gizli içeriği çıkarsamak için kullanılabilir.