資料庫PostrageSQL 日誌檔案維護

2021-10-12 09:57:49 字數 473 閱讀 3481

把資料庫伺服器的日誌輸出儲存在乙個地方是個好主意, 而不是僅僅通過/dev/null丟棄它們。 在進行問題診斷的時候,日誌輸出是非常寶貴的。不過,日誌輸出可能很龐大(特別是在比較高的除錯級別上), 因此你不會希望無休止地儲存它們。你需要輪轉日誌檔案,這樣在一段合理的時間後會開始新的日誌檔案並且移除舊的。

如果你簡單地把postgres的stderr定向到乙個檔案中,你會得到日誌輸出, 但是截斷該日誌檔案的唯一方法是停止並重起伺服器。這樣做對於開發環境中使用的postgresql可能是可接受的,但是你肯定不想在生產環境上這麼幹。

乙個更好的辦法是把伺服器的stderr輸出傳送到某種日誌輪轉程式裡。 我們有乙個內建的日誌輪轉程式,你可以通過在 postgresql.conf裡設定配置引數logging_collector為true的辦法啟用它。該程式的控制引數在 section 19.8.1裡描述。你也可以使用這種方法把日誌資料捕捉成機器可讀的csv(逗號分隔值)格式。

資料庫PostrageSQL 架構

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

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

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

資料庫PostrageSQL 鎖管理

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