X PostgreSQL 11、12 開啟歸檔日志


 


文章目錄

檢查當前數據庫情況
開啟數據庫歸檔
修改數據庫參數
相關參數解釋
創建歸檔目錄
重啟PG數據庫
檢查歸檔是否開啟成功

 

 

數據庫的歸檔, 是為了更好的保證數據庫的數據安全不可或缺的功能, 無論是什么數據庫都應開啟歸檔模式!

檢查當前數據庫情況
檢查數據庫是否為歸檔模式

postgres=# \c
You are now connected to database "postgres" as user "postgres".


postgres=# show archive_mode;
archive_mode
--------------
off
(1 row)


歸檔模式未啟動.

開啟數據庫歸檔
修改數據庫參數
PostgreSQL數據庫參數文件:

[postgres@pg01 ~]$ cd /var/lib/pgsql/12/data
[postgres@pg01 data]$ ll postgresql.conf
-rw-------. 1 postgres postgres 26612 Mar 1 16:03 postgresql.conf

 

vi postgres.conf修改如下:

wal_level = replica # minimal, replica, or logical
archive_mode = on # enables archiving; off, on, or always
archive_command = 'test ! -f /var/lib/pgsql/12/arch/%f && cp %p /var/lib/pgsql/12/arch/%f'

## 其中: %p表示wal日志文件的路徑,%f表示wal日志文件名稱。

%p 的目錄為 $PGHOME/data/pg_wal


相關參數解釋
wal_level參數控制WAL日志信息的輸出級別

minimal 記錄的WAL日志信息最少, 除了記錄數據庫異常關閉需要恢復時的WAL外, 其他操作信息都不記錄;
replica 記錄的WAL信息比minimal信息多, 會記錄支持WAL歸檔、復制和備庫中啟用只讀查詢等操作所需的WAL信息;
logical 記錄的最多, 包含了支持邏輯解析所需的WAL。 並包含了minimal和replica記錄的信息。

 

 

archive_command

可以將WAL歸檔到本級目錄, 也可以歸檔到遠程其他主機上。

max_wal_senders

控制主庫上的最大WAL發送進程數, 通過pg_basebackup命令在主庫上做基准備份時也會消耗WAL進程。此參數不能大於max_connections, 默認值10.

創建歸檔目錄
[postgres@pg01 12]$ mkdir /var/lib/pgsql/12/arch

 

重啟PG數據庫
使用root用戶重啟PG

[root@pg01 ~]# service postgresql-12 restart
Stopping postgresql-12 service: [ OK ]
Starting postgresql-12 service: [ OK ]

 

檢查歸檔是否開啟成功
查看模式
[postgres@pg01 12]$ psql
psql (12.0)
Type "help" for help.


postgres=# show archive_mode;
archive_mode
--------------
on
(1 row)

 

手動切換日志
在PG10之前:

postgres=# select pg_switch_xlog();

 

在PG10之后:

postgres=# select pg_switch_wal();
pg_switch_wal
---------------
0/130005E0
(1 row)

 


檢查歸檔文件
[root@pg01 12]# cd /var/lib/pgsql/12/arch
[root@pg01 arch]# ll
total 4
drwx------. 2 postgres postgres 4096 Mar 3 02:33 20200303

 

 


開啟成功 ~!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM