這篇文章主要介紹“pgsql歸檔日志的配置方法”,在日常操作中,相信很多人在pgsql歸檔日志的配置方法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”pgsql歸檔日志的配置方法”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
10年積累的網(wǎng)站制作、成都做網(wǎng)站經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站策劃后付款的網(wǎng)站建設(shè)流程,更有湘橋免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
歸檔配置涉及幾個(gè)參數(shù)如下:
# - Archiving -
是否開啟歸檔
#archive_mode = off # enables archiving; off, on, or always
# (change requires restart)
歸檔命令,注意 %p %f %% 格式化的含義。
%p 是被歸檔的redo文件的路徑,
%f 是被歸檔的redo文檔的文件名
%% 是百分號
#archive_command = '' # command to use to archive a logfile segment
# placeholders: %p = path of file to archive
# %f = file name only
# e.g. 'test ! -f /mnt/server/archivedir/%f && cp %p /mnt/server/archivedir/%f'
超時(shí)強(qiáng)制歸檔,例:如果10分鐘數(shù)據(jù)庫都沒有什么活動(dòng),一個(gè)redo文件沒有寫完,就不會(huì)歸檔,
但是我們希望數(shù)據(jù)庫至少10分鐘要切換一個(gè)日志,則可以使用archive_timeout
#archive_timeout = 0 # force a logfile segment switch after this
# number of seconds; 0 disables
歸檔配置如下:
假設(shè)存儲(chǔ)redo歸檔的目錄為/mnt/server/archivedir/
vi $PGDATA/arch.sh
#!/bin/bash
source /var/lib/pgsql/.bash_profile
test ! -f /pg_arch/$1 && cp --preserve=timestamps $2 /pg_arch/$1 ; find /pg_arch/ -type f -mtime +7 -exec rm -f {} \;
chmod 500 $PGDATA/arch.sh
wal_level = replica
archive_mode = on
archive_command = '$PGDATA/arch.sh %f %p'
解讀:
--preserve=timestamps
拷貝文件時(shí),拷貝文件的時(shí)間戳(包括文件的修改時(shí)間),為什么拷貝時(shí)一定要帶上修改時(shí)間戳呢,假設(shè)產(chǎn)生redo很快,歸檔較慢或者歸檔卡死了,延遲了幾天才歸檔,不拷貝舊文件的時(shí)間戳,
實(shí)際上寫入的就是拷貝時(shí)刻的時(shí)間戳,相差會(huì)很大。
find -mtime +7 找到ARCH 目錄中7天前修改的文件,刪除
到此,關(guān)于“pgsql歸檔日志的配置方法”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!