暂无图片
postgresql怎么查询每天归档的日志量,有什么方便的sql吗?
我来答
分享
jieguo
2021-09-28
postgresql怎么查询每天归档的日志量,有什么方便的sql吗?

postgresql怎么查询每天归档的日志量,有什么方便的sql吗?

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
Lucifer三思而后行
暂无图片

归档每天产生一个日志文件夹,进入指定归档目录,执行 du -sh 查看当天归档量。

暂无图片 评论
暂无图片 有用 0
打赏 0
jieguo
题主
2021-09-28
有没有类似oracle视图可查询的?
wuc

pg_stat_file去分析下wal日志目录,例如:

with tmp_file as (
select to_char(date_trunc('day',(pg_stat_file(file)).modification),'yyyymmdd') as day_id,
date_part('hour',(pg_stat_file(t1.file)).modification) as last_update_time,
date_part('minute',(pg_stat_file(t1.file)).modification) as last_update_per_min
from (select dir||'/'||pg_ls_dir(t0.dir) as file,
pg_ls_dir(t0.dir) as file_ls
from ( select setting||'/pg_wal' as dir from pg_settings where name='data_directory'
) t0
) t1
where 1=1 and t1.file_ls not in ('archive_status','.history')
order by (pg_stat_file(file)).modification desc
)
select day_id as 日期,
last_update_time as 小时,
sum(case when last_update_per_min >=0 and last_update_per_min <=10 then 1 else 0 end) as 第0_10分钟,
sum(case when last_update_per_min >10 and last_update_per_min <=20 then 1 else 0 end) as 第10_20分钟,
sum(case when last_update_per_min >20 and last_update_per_min <=30 then 1 else 0 end) as 第20_30分钟,
sum(case when last_update_per_min >30 and last_update_per_min <=40 then 1 else 0 end) as 第30_40分钟,
sum(case when last_update_per_min >40 and last_update_per_min <=50 then 1 else 0 end) as 第40_50分钟,
sum(case when last_update_per_min >50 and last_update_per_min <=60 then 1 else 0 end) as 第50_60分钟
from tmp_file tf
where 1=1
group by day_id,last_update_time
order by day_id,last_update_time desc; 

暂无图片 评论
暂无图片 有用 2
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
pg怎么把数据表导出成Excel?
回答 2
COPYtestTO‘/home/postgres/testcopy.csv’WITHCSVheader;–将test表导出到/home/postgres/testcopy.csv
plan-time 大于exec-time的pg问题
回答 2
耗时不高数据量也不大,用提升性能
postgresql jsonb字段超过65536,会自动截断怎么处理?
回答 1
已采纳
分多个列保存,应用获取后进行拼接
postgreSQL 如何设置免密登录?
回答 2
vi/home/postgres/.pgpass127.0.0.1:5432:postgres:postgres:rootchmod600.pgpass内容格式host:port:dbname:use
PG不用分区表的情况下,也不是分布式数据库,有什么好一点的分表方案?
回答 2
简单点的,采用程序对表主键或者关键字段进行取模或者哈希取模,判断应该访问那个表;也可以采用类似Mycat,shardingsphere这种的数据库中间件去做
postgres中全表扫描Seq Scan是单块读还是多块读?
回答 1
全表扫描是单块读,具体的如果是大表的话可能会执行并行顺序扫描,如果表大小超过了一定值会读到环形缓冲区。具体的实现原理以及代码分析可以参考文章PostgreSQL顺序扫描
pg_event_trigger_ddl_commands() 的 command 列如何使用或显示?
回答 1
好问题,但是为什么不直接使用log(logstatementddl)功能呢?(postgres@[local])[sbtest]16:08:37CREATEORREPLACEFUNCTIONaaa()
POSTGRESQL能否读取MYSQL服务器数据
回答 2
已采纳
假设有,类似oracledblink这样的。效率主要是看读取是返回情况,比如用到索引了吗?返回多少行。如果用到了就少量几行,没有问题。如果读几百万那自然慢,性能也收到影响。即使oracle也是,所以为
postgreSQL 14的集群或者是常用的高可用架构是哪些?
回答 1
PostgreSQL14是一种开源的关系型数据库管理系统,支持多种高可用架构,以下是常用的几种:1.StreamingReplication:这是PostgreSQL中最常见的高可用架构之一。通过将主
PostgreSQL 每张表的数据到达多少行就需要分区?
回答 2
已采纳
表的数据达到多少行和表的大小其实并不能决定是否需要分区,决定是否需要分区表的应该是SQL执行效率你是否能够接受。随着时间的推移,业务量的增涨,表必将越来越大,SQL执行效率也会随之降低。当效率降低到业