2011-04-10 43 views
0

我正在考慮使用postgresql/postgis進行空間研究。我有一個數據表和一個座標表。 「數據」本身並不敏感。但是,由於最終用戶很容易確定案件的身份,因此一旦與座標結合,「數據」就非常敏感。Postgresql對字段/表格的選擇限制

我目前使用postgis函數來做空間查詢,並將結果返回給R進行統計分析。

使用postgresql可以限制對特定字段的訪問,以便最終用戶可以使用字段(座標)並從空間查詢中獲取結果。但不能直接通過select語句返回/導出字段(座標)。

回答

1

您可以通過創建僅包含用戶被允許查看的列的視圖,然後從基礎表中撤銷SELECT特權來隱藏最終用戶的列。

但是,沒有辦法阻止用戶在本地保存(導出)他/她通過運行SELECT語句獲得的數據。

0

它可以使用SECURITY DEFINER函數,該函數。

從您的表中撤銷所有用戶的選擇權限。創建一個SECURITY DEFINER函數,該函數由表所有者擁有,並且只返回session_user感興趣的數據。

但請記住write SECURITY DEFINER Functions Safely