国产无码免费,人妻口爆,国产V在线,99中文精品7,国产成人无码AA精品一,制度丝袜诱惑av,久久99免费麻辣视频,蜜臀久久99精品久久久久久酒店
        訂閱
        糾錯
        加入自媒體

        技術文章:PostgreSQL pg_resetwal處理機制

        2021-05-26 17:09
        yzsDBA
        關注

        pg_resetwal的參數

        ControlFile結構及pg_resetwal參數影響的字段

        static struct option long_options[] = {    {"commit-timestamp-ids", required_argument, NULL, 'c'},    {"pgdata", required_argument, NULL, 'D'},    {"epoch", required_argument, NULL, 'e'},    {"force", no_argument, NULL, 'f'},    {"next-wal-file", required_argument, NULL, 'l'},    {"multixact-ids", required_argument, NULL, 'm'},    {"dry-run", no_argument, NULL, 'n'},    {"next-oid", required_argument, NULL, 'o'},    {"multixact-offset", required_argument, NULL, 'O'},    {"next-transaction-id", required_argument, NULL, 'x'},    {"wal-segsize", required_argument, NULL, 1},    {NULL, 0, NULL, 0}  };

        介紹

        PG11允許用戶在線修改WAL段文件大小。以往版本需要重新編譯,并且不同--wal-segsize設置的PG相互不兼容。這個值范圍1—1024,為2的平方且單位M。當改變大小時建議和-l參數一起使用,設置下一個WAL文件名,防止重復使用之前的名字。下一個段文件名要比當前已存在的都要大,

        該工具會將WAL目錄下日志全部刪除,并生成一個新WAL段文件。該文件名起名規則:

        1、-l指定的段文件名解析出段號minXlogSegNo

        2、FindEndOfXLOG掃描WAL目錄下所有文件得到最大的文件號:

        1)newXlogSegNo為pg_control文件中記錄的ckp所屬段號

        2)若目錄下由比這個號大的,則更新newXlogSegNo為該段號

        3)該段號轉換成WAL長度后,除以新段文件大小得到新段文件段號newXlogSegNo,將之+1作為新段文件的段號

        3、原pg_control文件中的ckp作為CHECKPOINT記錄寫入新段文件里面。該段文件僅寫這一個WAL,后面的大小全部清0。

        4、新pg_control文件的checkpoint位置為該文件中CHECKPOINT記錄位置。

        5、這個工具比較危險,慎用。

        6、在主備環境中,備機啟動不起來,且日志損壞時,主機數據量非常大,全量重新拷貝又耗費時間特別長,此時可以嘗試使用這個工具:

        1)比較備機和主機的pg_control文件的checkpoint位置,若備機和主機記錄的checkpoint位置相等,則可以執行pg_resetwal,這樣重新啟動后可以正常構建流復制,數據也不會丟

        2)若備機的checkpoint小,使用這個pg_control文件進行pg_resetwal可能重啟后構建不起來流復制。使用主機的pg_control文件進行pg_resetwal,重啟后可構建流復制,但丟數據

        3)若備機的checkpoint大,使用這個pg_control文件進行pg_resetwal,可能重啟后構建不起來流復制,即使構建起來也丟數據。使用主機的pg_control文件進行pg_resetwal,應該也可以正常。

        4)備機的時間線文件需要清理

        流程

        pg_control文件的更新,然后調用KillExistingXLOG刪除pg_wal目錄下的所有WAL文件:

              while(errno = 0, (xlde = readdir(xldir)) != NULL){              if(IsXLogFileName(xlde->d_name) || IsPartialXLogFileName(xlde->d_name)){                     snprintf(path,sizeof(path), "%s/%s", XLOGDIR, xlde->d_name);                     if(unlink(path) < 0){                            pg_log_error("couldnot delete file "%s": %m", path);                            exit(1);                     }              }       }

        調用函數KillExistingArchiveStatus刪除archive_status目錄下.ready,.done和.partial.ready、.partial.done文件:

              while(errno = 0, (xlde = readdir(xldir)) != NULL){              if(strspn(xlde->d_name, "0123456789ABCDEF") == XLOG_FNAME_LEN&&                     (strcmp(xlde->d_name+ XLOG_FNAME_LEN, ".ready") == 0 ||                      strcmp(xlde->d_name + XLOG_FNAME_LEN,".done") == 0 ||                     strcmp(xlde->d_name + XLOG_FNAME_LEN,".partial.ready") == 0 ||                      strcmp(xlde->d_name + XLOG_FNAME_LEN,".partial.done") == 0))              {                     snprintf(path,sizeof(path), "%s/%s", ARCHSTATDIR, xlde->d_name);                     if(unlink(path) < 0){                            pg_log_error("couldnot delete file "%s": %m", path);                            exit(1);                     }              }       }

        最后調用函數WriteEmptyXLOG創建一個新WAL段文件,并僅寫入一個checkpoint記錄,其中checkpoint記錄來自ControlFile結構。

        聲明: 本文由入駐維科號的作者撰寫,觀點僅代表作者本人,不代表OFweek立場。如有侵權或其他問題,請聯系舉報。

        發表評論

        0條評論,0人參與

        請輸入評論內容...

        請輸入評論/評論長度6~500個字

        您提交的評論過于頻繁,請輸入驗證碼繼續

        暫無評論

        暫無評論

          人工智能 獵頭職位 更多
          掃碼關注公眾號
          OFweek人工智能網
          獲取更多精彩內容
          文章糾錯
          x
          *文字標題:
          *糾錯內容:
          聯系郵箱:
          *驗 證 碼:

          粵公網安備 44030502002758號

          主站蜘蛛池模板: 井冈山市| 欧韩一区| 精品玖玖| 精品国模无码| 男人天堂手机在线| 黄色不卡| 多p在线观看| 科技| 91免费视频观看| 亚洲尤物你懂的视频在线看| 日屄屄| 熟女在线播放| 欧美A视频| 内射自拍| 精品A片| 影音先锋一区二区| 南木林县| 伊人天天色| 亚洲高清中文字幕| 沙坪坝区| 日日噜噜夜夜久久亚洲一区二区| 91精品人人妻人人澡人人爽人人精东影业| 亚洲色道| 丁香久久婷婷| 少妇人妻av| 天台县| 亚洲成年网站| 中文字幕av在线| 亚洲日韩第2页| 永康市| 日韩伊人| 91色拍| 超碰福利导航| 黄色国产视频| 镇沅| 欧美老熟妇又粗又大| 亚洲图片视频丝袜| 男人亚洲天堂| 日本熟妇色| 盐亭县| 51av视频|