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

