今天就跟大家聊聊有關怎么在pgsql中手動觸發(fā)歸檔,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
十載專注成都網(wǎng)站制作,成都定制網(wǎng)站,個人網(wǎng)站制作服務,為大家分享網(wǎng)站制作知識、方案,網(wǎng)站設計流程、步驟,成功服務上千家企業(yè)。為您提供網(wǎng)站建設,網(wǎng)站制作,網(wǎng)頁設計及定制高端網(wǎng)站建設服務,專注于成都定制網(wǎng)站,高端網(wǎng)頁制作,對成都自拌料攪拌車等多個行業(yè),擁有豐富的網(wǎng)站維護經(jīng)驗。pg10.0之前:
select pg_switch_xlog();
pg10.0之后:
select pg_switch_wal();
備注:執(zhí)行 pg_switch_xlog() 后,WAL 會切換到新的日志,這時會將老的 WAL日志歸檔。
兩種情況:
①WAL 日志寫滿后觸發(fā)歸檔。
wal日志被寫滿后會觸發(fā)歸檔,wal日志默認是16MB,這個值可以在編譯PostgreSQL時通過參數(shù)"--with-wal-segsize"設置,編譯后不能修改。
②archive_timeout時間控制。
可以設置archive超時參數(shù) archive_timeout ,假如設置archive_timeout=60,那么每 60s , 會觸發(fā)一次 WAL 日志切換,同時觸發(fā)日志歸檔,這里有個隱含的假設: 當前 WAL 日志中仍有未歸檔的WAL。
補充:postgresql開啟歸檔日志
修改postgresql的配置文件(postgresql.conf)
wal_level=hot_standby archive_mode =on archive_command ='DATE=`date +%Y%m%d`;DIR="/home/postgres/arch/$DATE";(test -d $DIR || mkdir -p $DIR)&& cp %p $DIR/%f'
ps:%p 是指相對路徑 %f是指文件名
創(chuàng)建歸檔路徑
mkdir -p /home/postgres/arch chown -R postgres:postgres /home/postgres/arch
重啟數(shù)據(jù)庫
驗證歸檔是否正常
postgres=# checkpoint; CHECKPOINT postgres=# select pg_switch_xlog(); pg_switch_xlog ---------------- 1/760000E8 (1 row) postgres@ubuntu:~$ cd /home/postgres/data/data_1999/arch/ postgres@ubuntu:~/data/data_1999/arch$ ls 20150603 postgres@ubuntu:~/data/data_1999/arch$ cd 20150603/ postgres@ubuntu:~/data/data_1999/arch/20150603$ ls 000000010000000100000074 000000010000000100000075 000000010000000100000076
看完上述內(nèi)容,你們對怎么在pgsql中手動觸發(fā)歸檔有進一步的了解嗎?如果還想了解更多知識或者相關內(nèi)容,請關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。