主頁 > 知識庫 > pgsql 如何手動觸發(fā)歸檔

pgsql 如何手動觸發(fā)歸檔

熱門標(biāo)簽:AI電銷 地方門戶網(wǎng)站 呼叫中心市場需求 服務(wù)外包 網(wǎng)站排名優(yōu)化 Linux服務(wù)器 鐵路電話系統(tǒng) 百度競價排名

方法:

pg10.0之前:

select pg_switch_xlog();

pg10.0之后:

select pg_switch_wal();

備注:執(zhí)行 pg_switch_xlog() 后,WAL 會切換到新的日志,這時會將老的 WAL日志歸檔。

除了手動觸發(fā)歸檔,還有什么情況下,pg會進(jìn)行歸檔?

兩種情況:

①WAL 日志寫滿后觸發(fā)歸檔。

wal日志被寫滿后會觸發(fā)歸檔,wal日志默認(rèn)是16MB,這個值可以在編譯PostgreSQL時通過參數(shù)"--with-wal-segsize"設(shè)置,編譯后不能修改。

②archive_timeout時間控制。

可以設(shè)置archive超時參數(shù) archive_timeout ,假如設(shè)置archive_timeout=60,那么每 60s , 會觸發(fā)一次 WAL 日志切換,同時觸發(fā)日志歸檔,這里有個隱含的假設(shè): 當(dāng)前 WAL 日志中仍有未歸檔的WAL。

補(bǔ)充: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ù)庫

步驟四:

驗(yàn)證歸檔是否正常

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

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • pgsql查詢優(yōu)化之模糊查詢實(shí)例詳解
  • Postgresql 存儲過程(plpgsql)兩層for循環(huán)的操作
  • pgsql之create user與create role的區(qū)別介紹
  • pgsql之pg_stat_replication的使用詳解
  • pgsql 如何刪除仍有活動鏈接的數(shù)據(jù)庫
  • pgsql的UUID生成函數(shù)實(shí)例
  • pgsql 實(shí)現(xiàn)分頁查詢方式

標(biāo)簽:湖南 銅川 崇左 黃山 仙桃 蘭州 衡水 湘潭

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《pgsql 如何手動觸發(fā)歸檔》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266