您好,登錄后才能下訂單哦!
這篇文章主要介紹“pgsql歸檔日志的配置方法”,在日常操作中,相信很多人在pgsql歸檔日志的配置方法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”pgsql歸檔日志的配置方法”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
歸檔配置涉及幾個參數如下:
# - 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'
超時強制歸檔,例:如果10分鐘數據庫都沒有什么活動,一個redo文件沒有寫完,就不會歸檔,
但是我們希望數據庫至少10分鐘要切換一個日志,則可以使用archive_timeout
#archive_timeout = 0 # force a logfile segment switch after this
# number of seconds; 0 disables
歸檔配置如下:
假設存儲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
拷貝文件時,拷貝文件的時間戳(包括文件的修改時間),為什么拷貝時一定要帶上修改時間戳呢,假設產生redo很快,歸檔較慢或者歸檔卡死了,延遲了幾天才歸檔,不拷貝舊文件的時間戳,
實際上寫入的就是拷貝時刻的時間戳,相差會很大。
find -mtime +7 找到ARCH 目錄中7天前修改的文件,刪除
到此,關于“pgsql歸檔日志的配置方法”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。