資料庫PostrageSQL 安全性

2021-10-14 09:18:54 字數 407 閱讀 5057

用於複製連線的角色必須有replication屬性(或者是乙個超級使用者)。該角色的訪問必須被配置在pg_hba.conf中,並且它必須有login屬性。

為了能夠拷貝初始表資料,用於複製連線的角色必須在被發布的表上具有select特權(或者是乙個超級使用者)。

要建立publication,使用者必須在資料庫中有create特權。

要把表加入到乙個publication,使用者必須在該錶上有擁有權。要建立乙個自動發布所有表的publication,使用者必須是乙個超級使用者。

要建立訂閱,使用者必須是乙個超級使用者。

訂閱的應用過程將在本地資料庫上以超級使用者的特權執行。

特權檢查僅在複製連線開始時被執行一次。在從發布者讀到每乙個更改記錄時不會重新檢查特權,在每乙個更改被應用時也不會重新檢查特權。

資料庫PostrageSQL 架構

邏輯複製從拷貝發布者資料庫上的資料庫快照開始。拷貝一旦完成,發布者上的更改會在它們發生時實時傳送給訂閱者。訂閱者按照資料在發布者上被提交的順序應用資料,這樣任意單一訂閱中的publication的事務一致性才能得到保證。訂閱者資料庫上的應用程序總是將session replication role設...

資料庫PostrageSQL 啟動資料庫伺服器

在任何人可以訪問資料庫前,你必須啟動資料庫伺服器。資料庫伺服器程式是postgres,它必須知道在 能找到它要用的資料。這是用 d選項實現的。因此,啟動伺服器最簡單的方法是 postgres d usr local pgsql data這將把伺服器放在前台執行。這個步驟同樣必須以postgresql...

資料庫PostrageSQL 鎖管理

deadlock timeout integer 這是進行死鎖檢測之前在乙個鎖上等待的總時間 以毫秒計 死鎖檢測相對昂貴,因此伺服器不會在每次等待鎖時都執行這個它。我們樂觀地假設在生產應用中死鎖是不常出現的,並且只在開始檢測死鎖之前等待一會兒。增加這個值就減少了浪費在無用的死鎖檢測上的時間,但是減慢...