前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Postgresql system Catalog 中的系统表能告诉你什么 (一)?

Postgresql system Catalog 中的系统表能告诉你什么 (一)?

作者头像
AustinDatabases
发布2021-04-01 17:09:39
1.2K0
发布2021-04-01 17:09:39
举报
文章被收录于专栏:AustinDatabasesAustinDatabases

在数据库中如果说schema 那基本上大部分人都能明白其中含义,而如果说catalog 则不少人会恍惚,到底catalog 是什么,对于postgresql 有什么用

实际上postgresql system catalog 是一个包含了元数据的VIEW 和表的一个schema, 这个system 的catalog 是了解和解决一些基础问题的东西。

如何去从中获取数据以及通过这些数据来去了解系统的运作,是我们必须要做的。那么什么是元数据,metadata,并且这个metadata到底在所有的数据库中起到什么作用。

下面有三个解释对于METADATA

1 提供关于数据库的系统的信息

2 通过这些数据来了解理解系统的工作的特性和原理以及当前情况

3 元数据可以通过手动的方式创建也可以自动的去获取信息

元数据一般会记录什么样的信息,这里有一个定义

classes general thing , types of things

Instances information

Relationships amony things

Properties of things

Functions , processes , constraints and rules relating to things.

当然catalog 本身等同于database 的概念

那么如何让我们的postgresql 的 system catalog 展现需要通过

\dS 来进行

那么这些pg_catalog 的有多少个VIEW 或者 表

以 PG12来说目前的表有243个系统表

下面挑选一些systam catalog 通过下面的学习,知道如何快速的了解系统的情况

pg_stat_database 中可以

1 通过 xact_commit 和 xact_rollback 两个值可以获得这个数据库中当前执行的commit 操作和数据库回滚的操作的比。

2 blks_read blks_hist 两个参数可以获得当前数据库的数据有多少是从磁盘中获得的,有多少数据是从内存中获得的。

3 这个数据库中有多少行的插入,更新和删除

4 conflicts 的主要作用是研究作为备库的时候,postgresql到底取消了多少查询

5 deadlocks 这个数据库发生死锁的次数

6 stats_reset 的意思是以上信息生效的时间,也就是这台机器上次重启动或开启的时间。

从统计和分析的角度来说,获取这些数据可以分析出例如升级完毕后系统的稳定性,或者变动的一些特性有助于发现问题。

pg_stat_bgwriter 这个表本身要从 postgresql 写数据开始,PG写数据到磁盘上是有几种不同的路径的,数据在内存中被改变后如何刷入到磁盘文件中,

是有checkpoint 写入的还是通过background wirter 写入的,check_points_timed和checkpoints_req 两个说明,到目前为止进行了多少次checkpoint 以及强制checkpoint。

checkpoint_write_time 时间是从开始到目前为止,一直写入数据的总消耗的时间,单位毫秒。

到这里必然需要说明checkpoint 和 bgwriter的不同

1 bgwriter 是数据库将share buffer中的数据写入实际的表中的负责的进程

2 checkpoint 面对的 wal file,在将数据刷入wal后,才轮到bgwriter将数据刷入到表文件。

两个进程面对的文件不同,要完成的使命也不同,先后顺序也不同

checkpoint 在前 日志写入在前, 数据文件写入在后, 一个是为了防止系统crash后数据产生丢失的问题,一个实际是为了将实体数据写入到表文件中,一个面对的是WAL 文件 一个面对的 数据文件。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-03-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AustinDatabases 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档