pgsql 如何手動觸發(fā)歸檔
方法:
pg10.0之前:
select pg_switch_xlog();
pg10.0之后:
select pg_switch_wal();
備注:執(zhí)行 pg_switch_xlog() 后,WAL 會切換到新的日志,這時(shí)會將老的 WAL日志歸檔。
除了手動觸發(fā)歸檔,還有什么情況下,pg會進(jìn)行歸檔?
兩種情況:
①WAL 日志寫滿后觸發(fā)歸檔。
wal日志被寫滿后會觸發(fā)歸檔,wal日志默認(rèn)是16MB,這個(gè)值可以在編譯PostgreSQL時(shí)通過參數(shù)"--with-wal-segsize"設(shè)置,編譯后不能修改。
②archive_timeout時(shí)間控制。
可以設(shè)置archive超時(shí)參數(shù) archive_timeout ,假如設(shè)置archive_timeout=60,那么每 60s , 會觸發(fā)一次 WAL 日志切換,同時(shí)觸發(fā)日志歸檔,這里有個(gè)隱含的假設(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
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
pgsql之pg_stat_replication的使用詳解
這篇文章主要介紹了pgsql之pg_stat_replication的使用詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01在PostgreSQL中實(shí)現(xiàn)跨數(shù)據(jù)庫的關(guān)聯(lián)查詢
在 PostgreSQL 中,通常情況下的關(guān)聯(lián)查詢是在同一個(gè)數(shù)據(jù)庫的不同表之間進(jìn)行的,然而,在某些復(fù)雜的應(yīng)用場景中,可能需要實(shí)現(xiàn)跨數(shù)據(jù)庫的關(guān)聯(lián)查詢,本文將詳細(xì)探討如何在 PostgreSQL 中實(shí)現(xiàn)這一需求,并通過示例代碼進(jìn)行說明,需要的朋友可以參考下2024-08-08PostgreSQL導(dǎo)出數(shù)據(jù)庫表(或序列)的結(jié)構(gòu)和數(shù)據(jù)實(shí)例代碼
這篇文章主要給大家介紹了關(guān)于PostgreSQL導(dǎo)出數(shù)據(jù)庫表(或序列)的結(jié)構(gòu)和數(shù)據(jù)的相關(guān)資料,你可以使用pg_dump命令來導(dǎo)出PostgreSQL數(shù)據(jù)庫中的表結(jié)構(gòu)和數(shù)據(jù),需要的朋友可以參考下2023-10-10解決PostgreSQL數(shù)據(jù)庫連接報(bào)錯(cuò):psql:?error:?FATAL:?password?authent
這篇文章主要給大家介紹了關(guān)于如何解決PostgreSQL數(shù)據(jù)庫連接報(bào)錯(cuò):psql:?error:?FATAL:?password?authentication?failed?for?user?"postgres"的相關(guān)資料,在使用PostgreSQL時(shí),一些關(guān)鍵配置的錯(cuò)誤可能導(dǎo)致數(shù)據(jù)庫無法正常啟動,需要的朋友可以參考下2024-05-05PostgreSQL?16?新特性之正態(tài)分布隨機(jī)數(shù)函數(shù)的示例
這篇文章主要介紹了PostgreSQL?16?新特性之正態(tài)分布隨機(jī)數(shù)函數(shù),PostgreSQL 16 新增了一個(gè)內(nèi)置的 random_normal() 函數(shù),用于生成這種隨機(jī)數(shù),通過示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-01-01