searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

PostgreSQL -使用unlogged table表问题

2023-06-08 10:32:01
20
0

一、问题描述

集团telepg集群反馈他们自己升级OS内核版本后,重启了PG实例导致有部分表数据丢失(只有表结构,没有表数据)

二、分析过程

社区版本使用unlogged table可以达到类似内存表的功能。

unlogged table 的几个特点:

1、unlogged table不记录wal日志,写入速度快,备库无数据,只有结构。

2、当数据库crash后,数据库重启时自动清空unlogged table的数据。

三、解决办法

根据业务数据类型,选择使用合适类型的表

 

四、总结

1、写性能

unlogged table > 普通表(异步事务) > 普通表(同步事务)

2、资源消耗

unlogged table 不写WAL,IO开销小。

3、适应场景

批量计算的中间结果,频繁变更的会话数据。

4、注意事项

4.1、unlogged table不记录wal日志,写入速度快,备库无数据,只有结构。

4.2、当数据库crash后,数据库重启时自动清空unlogged table的数据。

4.3、正常关闭数据库,再启动时,unlogged table有数据。

0条评论
作者已关闭评论
ly
8文章数
0粉丝数
ly
8 文章 | 0 粉丝
原创

PostgreSQL -使用unlogged table表问题

2023-06-08 10:32:01
20
0

一、问题描述

集团telepg集群反馈他们自己升级OS内核版本后,重启了PG实例导致有部分表数据丢失(只有表结构,没有表数据)

二、分析过程

社区版本使用unlogged table可以达到类似内存表的功能。

unlogged table 的几个特点:

1、unlogged table不记录wal日志,写入速度快,备库无数据,只有结构。

2、当数据库crash后,数据库重启时自动清空unlogged table的数据。

三、解决办法

根据业务数据类型,选择使用合适类型的表

 

四、总结

1、写性能

unlogged table > 普通表(异步事务) > 普通表(同步事务)

2、资源消耗

unlogged table 不写WAL,IO开销小。

3、适应场景

批量计算的中间结果,频繁变更的会话数据。

4、注意事项

4.1、unlogged table不记录wal日志,写入速度快,备库无数据,只有结构。

4.2、当数据库crash后,数据库重启时自动清空unlogged table的数据。

4.3、正常关闭数据库,再启动时,unlogged table有数据。

文章来自个人专栏
数据库运维
8 文章 | 1 订阅
0条评论
作者已关闭评论
作者已关闭评论
0
0