暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
在openGauss 1.0.1或更早的版本上checkpoint_segments默认值过大而引发的问题
779
4页
12次
2020-12-04
免费下载
openGauss 1.0.1
或更早的版本上
checkpoint_segments
默认值过大而引发的
问题
适用于
:
openGauss 1.0.1 build
或更早的版本
症状
:
在非归档模式、没有打开流了复制槽时,例如:
postgres=# show archive_mode;
archive_mode
--------------
off
(1 row)
postgres-# select * from pg_replication_slots;
pg_xlog_location_diff | slot_name | plugin | slot_type | datoid | database |
active | xmin | catalog_xmin | restart_lsn | dummy_standby
-----------------------+-----------+--------+-----------+--------+----------
+--------+------+--------------+-------------+---------------
(0 rows)
openGauss
所产生的
WAL
日志会在
pg_xlog
目录下无限增长。
1.
检查和
WAL
日志相关的参数
postgres=# show checkpoint_segments;
checkpoint_segments
---------------------
64
(1 row)
postgres=# show checkpoint_completion_target;
checkpoint_completion_target
------------------------------
0.5
(1 row)
postgres=# show wal_keep_segments;
wal_keep_segments
-------------------
16
(1 row)
WAL
日志文件:
openGauss
WAL
日志记录写入存储在
pg_xlog
子目录中的
WAL
段文件之一中,如果旧文件已被填
充,则切换为新文件。
WAL
文件的数量将根据以下几个配置参数以及服务器活动而变化。
WAL
日志文件的数量主要由以下三个参数控制:
checkpoint_segments
checkpoint_completion_target
wal_keep_segments
其数量通常大于 以下两种情形下会自动清理:
2+checkpoint_completion_target
×checkpoint_segments+1
checkpoint_segments+wal_keep_segments+1
2.
当对数据库起启
1000
个(包含
insert
)并发持续一段时间之后,
pg_xlog
中日志文件
会无限增多
--
并发的
SQL
begin;
select /*1*/c4,c8,c2,c3,c9,c1,c12 from gaussdb.T1 where c1
='536e32a24bd6add28b7b2b0afa2dc071';
update /*2*/gaussdb.T1 set c8 = 1 where c1 = (select c1 from (select c1
from gaussdb.t1 where c1>'ABCDEFHIJKG' limit 600) order by random() limit
1);
insert /*3*/into gaussdb.T5 select TO_HEX((random()*(2*10^9))::integer)||
TO_HEX((random()*(2*10^9))::integer), rpad('*',4000,'*'),floor(random()*(2-
0)+0),to_char(sysdate,'YYYYMMDDHH24Miss');
select /*4*/ c1,c2 from gaussdb.T9 where c2 =
'649b6f83dd7c09802a4db01bf6f60e09';
select /*5*/ c3 from gaussdb.T4 where c2 =
'936d8e56c15519f1311776e67afec6ad';
insert /*11*/into gaussdb.T6 select TO_HEX((random()*(2*10^9))::integer)||
TO_HEX((random()*(2*10^9))::integer),rpad('*',4000,'*'),floor(random()*(2-
0)+0) ,to_char(sysdate,'YYYYMMDDHH24Miss');
select /*6*/ c2 from gaussdb.T3 where c1=
'69c24b9556de148b798a0be38b12f214bf2f95495be47f76a4dce485d8259ca4';
select /*7*/ c1,c4 from gaussdb.T8 where c7=
'92a42e90cd73ad0ec5c51b57f20efb91';
select /*8*/ c2,c3 from gaussdb.T5 where c1 =
'69d26e7833f5da78afc944407d68d58b';
select /*9*/c3,c4 from gaussdb.T4 where c1 =
'577527b30a83d08ba4a95f2bf42add89b3ccc1fb0560e8e1a15f45dde8ff0879';
insert /*10*/into gaussdb.T2 select TO_HEX((random()*(2*10^9))::integer)||
TO_HEX((random()*(2*10^9))::integer),md5(random()::text),md5(random()::text)
,md5(random()::text),TO_HEX((random()*(2*10^9))::integer)||
TO_HEX((random()*(2*10^9))::integer),floor(random()*(19999999999-
10000000001)+10000000001) ,floor(random()*(2-0)+0),floor(random()*(3-
1)+1),floor(random()*(3-1)+1)
,to_char(sysdate,'YYYYMMDD'),floor(random()*(3-1)+1)
,to_char(sysdate,'YYYYMMDDHH24Miss'),to_char(sysdate,'YYYYMMDDHH24Miss') ;
end;
--
查看
pg_xlog
目录及文件个数
[root@bms-f408-0001 dn1]# du -sm * | sort -nr|head
31360 pg_xlog
of 4
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜