Ant*_*och 3 postgresql postgresql-9.6
我使用的是托管的 PostgreSQL 数据库,但我没有 shell 访问权限。是否有可以用来检查当前 WAL 日志大小的查询?
a_h*_*ame 11
如果您有超级用户访问权限,则可以使用:
select *
from pg_ls_dir('pg_xlog');
Run Code Online (Sandbox Code Playgroud)
这将为目录中的每个文件返回一行pg_xlog
。由于 WAL 段的大小是固定的,您可以通过将行数乘以 16MB 来轻松计算总大小:
select count(*) * pg_size_bytes(current_setting('wal_segment_size')) as total_size
from pg_ls_dir('pg_xlog') as t(fname)
where fname <> 'archive_status';
Run Code Online (Sandbox Code Playgroud)
或者,您可以使用pg_stat_file()
返回有关文件的信息:
select sum((pg_stat_file('pg_wal/'||fname)).size) as total_size
from pg_ls_dir('pg_xlog') as t(fname);
Run Code Online (Sandbox Code Playgroud)
从 Postgres 10 开始,您可以使用:
select sum(size)
from pg_ls_waldir()
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
13466 次 |
最近记录: |