2
在我們的數據庫中我們有一個login
表,特色彩色爲username
和password
。如何在觸發器功能中檢索此用戶名,以便它也可以被審覈。 user
關鍵字在觸發器函數中檢索postgresql用戶名,我需要的是應用程序用戶名。有什麼建議麼?在觸發功能內檢索用戶名
在我們的數據庫中我們有一個login
表,特色彩色爲username
和password
。如何在觸發器功能中檢索此用戶名,以便它也可以被審覈。 user
關鍵字在觸發器函數中檢索postgresql用戶名,我需要的是應用程序用戶名。有什麼建議麼?在觸發功能內檢索用戶名
您可以在postgresql.conf
中設置自定義GUC。使用它在登錄時使用SET myapp_username
來存儲應用程序用戶名。在觸發器中訪問current_setting(myapp_username)
或者,在用戶登錄時創建一個TEMPORARY
表,並在登錄時將用戶的應用程序用戶名INSERT
創建。 SELECT
它在必要時觸發。
這兩者都要求用戶不能直接運行自定義SQL,當然,這通常是應用程序級別認證的要求,就像您使用的一樣。
再次感謝,克雷格。很有幫助。 – Shalin
@shalin我在另一個問題中寫了一個更詳細的回覆,以防你感興趣。它包含演示代碼,文檔鏈接和更多解釋。請參閱http://stackoverflow.com/q/13172524/398670 –