postgresql之查看pg_wal目錄下xlog文件總大小

當然如果你登錄服務器所在主機,直接在$PGDAT/pg_wal下執行:

du -h --max-depth=1 ./ 

可以得到。

#du -h --max-depth=1 ./
4.0K    ./archive_status
193M    ./

如果通過客戶端怎麼做呢?

答案:pg_ls_waldir()函數。pg_ls_waldir()是pg 10.0引入的函數,可以輸出數據庫WAL目錄的所有文件。


postgres=# select sum(size) from pg_ls_waldir();     
    sum    
-----------
 201326592
(1 row)

單位是byte,所以當前pg_wal的xlog日誌總大小爲201326592/1024/1024=192M。

也可以使用:


postgres=# select count(*) from pg_ls_waldir();
 count 
-------
    12
(1 row)

12表示wal日誌文件個數,總大小12*16=192M。

16表示單個wal日誌文件大小,單位MB,WAL 日誌文件大小默認爲16MB。

bonus:

1、怎麼調整單個wal日誌文件大小?

答:使用 initdb 調整WAL文件大小。參考。

2、pg_ls_logdir() 也是pg10.0版本引入的函數,輸出數據庫日誌目錄的所有文件。

postgres=# select * from pg_ls_logdir();
               name               |  size   |      modification      
----------------------------------+---------+------------------------
 postgresql-2020-04-28_092020.log | 2277343 | 2020-04-29 11:34:56+08
 postgresql-2020-04-28_092020.csv |  140050 | 2020-04-29 11:34:56+08

3、如何列出/data文件夾中的文件?

答:pg_ls_dir

postgres=# select pg_ls_dir('/data');
      pg_ls_dir       
----------------------

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章