<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # 29.5\. WAL 內部 WAL是自動打開的。除了要求一些磁盤空間存放WAL 日志以及一些必要的調節以外(參閱[Section 29.4](#calibre_link-1297)),對管理員沒有什么其它要求。 WAL日志存放在數據目錄的`pg_xlog`子目錄里, 它是作為一個文件段的集合存儲的,通常每段 16MB (但是大小可以通過建立服務器時改變 `--with-wal-segsize`配置選項改變)。每個段又分割成多個頁,通常每頁 8KB(這個大小可以通過 `--with-wal-blocksize`配置選項改變)。日志記錄頭在`access/xlog.h`里描述; 日志內容取決于它記錄的事件類型。段文件的名字是遞增自然數,從`000000010000000000000000` 開始。這些數字不能循環使用,不過要把所有可用的數字都用光也需要非常長的時間。 日志位于和主數據庫文件位于不同的磁盤上會比較好。你可以通過把`pg_xlog` 目錄移動到另外一個位置(此時必須關閉服務器),然后在原來的位置創建一個指向新位置的符號鏈接。 WAL的目的是確保在數據庫記錄被修改之前先寫日志, 但是這個目的有可能被那些向內核謊報成功寫入的磁盤驅動器 破壞,這時候, 它們實際上只是緩沖了數據而并未把數據存儲到磁盤上。 這種情況下的電源失效仍然可能導致不可恢復的數據崩潰;管理員應該確保保存 PostgreSQL的WAL日志文件的磁盤不會做這種虛假匯報。 (參閱 [Section 29.1](#calibre_link-1294).) 在完成一個檢查點并且刷新了日志文件之后,檢查點的位置就保存在了`pg_control` 文件里。因此在恢復開始的時候,后端首先讀取`pg_control`和檢查點記錄; 然后通過從檢查點記錄里標識的日志位置開始向前掃描執行 REDO 操作。 因為數據頁的所有內容都保存在檢查點之后的第一個頁面修改的日志里(假設 [full_page_writes](#calibre_link-1135)沒有禁用),所以自檢查點以來的所有變化都將被恢復到一個一致的狀態。 但是為了處理`pg_control`可能的損壞, 我們應該支持對現存日志段的反向順序掃描(從最新到最老),這樣才能找到最后的檢查點。 這些還沒有實現。`pg_control`很小(比一個磁盤頁小), 因此它出現只寫了一部分的問題的概率幾乎為零,到目前為止, 我們還沒有看到不能讀取`pg_control`自身的錯誤。因此, 盡管這在理論上是一個薄弱環節,但是實踐中`pg_control`似乎并不會出現問題。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看