前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >POSTGRESQL 12 VS 11 配置文件的改变 restart point(上次问题) 与 “傻逼” 理论

POSTGRESQL 12 VS 11 配置文件的改变 restart point(上次问题) 与 “傻逼” 理论

原创
作者头像
AustinDatabases
修改2021-01-11 10:29:17
8010
修改2021-01-11 10:29:17
举报
文章被收录于专栏:AustinDatabasesAustinDatabases
图片
图片

最近听到一套理论叫SB理论,里面说的是一个人进步的问题,一个人如果往过去看,时间间隔的越短看自己觉得自己是一个SB ,那说明这个人进步了并且速度不慢,如果一直认为自己是“盖世武功” 或许自己已经SB 很久不自知了。  

今天要谈论的是 PG 12  和 PG 11 之间配置文件的差别的问题。之间的一致的东西都不会再提及,下面是 12 VS 11 之间的不同点。

#CONNECTIONS AND AUTHENTICATION

connection settings 

tcp settings

authentication

GSSAPI using Kerberos 

SSL

PG 11 VS PG 12 都是没有差异的

PASS 这些东西

#RESOURCE USAGE except WAL

这里就开始不一样了,首先要声明的是这里我们的系统的版本都是CENTOS7.5,版本没有不同

1   shared_memory_type = mmap  

这里只有12 具有, 11是没有这个选择项的

以上的这个添加的选择语句内存的分配和使用有关,这里需要LINUX的一些知识,这里不再扩展,建议不要修改这个配置,并且mmap也是目前在LINUX 中分配内存比较简单的一种方式。

2  wal_level = replica   V11

    wal_level = logical   V12

3  在PG V12 中添加了 

restore_command

archive_cleanup_command

recovery_end_command

recovery_target

recovery_target_name

recovery_target_time

recovery_target_xid

recovery_target_lsn

recovery_target_inclusive = on

recovery_target_timeline = lastest

recovery_target_action = pause

这里有一个问题,我清晰的记得,上次有人问过关于 archive_cleanup_command 的问题,哪个人问的问题是 command to execute at every restartpoint 是什么意思, 当时我记得他理解的是每次PG 重启启动 archive_clean_command 这个触发, 当时我也没有研究但认为这不对。

图片
图片

这里找到了相关的关于什么是resetartpoint 的官方解释,其中解释是

a restartpoint is the equivalent of checkpoint  during recovery and establishes the point from which recovery can roll forward without replaying the entire recovery log. 

实际上这里我认为的就是每次check point 会触发这个位置,那实际上我们在这个位置上配置好

图片
图片

直接调用pg_archivecleanup 就可以了,所以这点比PG 11 是有进步的,ARCHIVE 目录里面的文件的清理,已经有了良好的解决方式。

图片
图片

4 在replication -- standby servers 

 添加了

primary_conninfo

primary_slot_name

promote_trigger_file

hot_standby = on

recovery_min_apply_delay = 0

3 和  4 两个部门是PG11 和 PG12 之间变动比较大的,这里注意PG12 将 

recovery.conf 不在是一个单独的文件了,而是迁移到了POSTGRESQL.CONF

5  Query tuning

plan_cache_mode = auto

这个问题是PG 对于OLAP 和 OLTP 的不同 ,OLTP 业务多的可以使用 auto 

对于OLAP 的业务,可能不会频繁执行并且每次输入的评估选择性差异会比较大,所以建议可以选择 force_custom_plan 。

并且不同的执行方式,可以对于用户和数据库信息单独的设置,所以这点是比较灵活的。

具体参见德哥的 github

https://github.com/digoal/blog/blob/master/201903/20190331_15.md

以上是我滤了一遍,可能还有错误和遗漏,请大家指正。

另外 PG 从9.X 到12 之间的变化在CONFIG 文件中的变化

图片
图片

最近也在反思,当前数据库产品和10年前数据库在软件开发中的起到的作用,以数据库为中心的开发方式已经渐行渐远,但数据库模块化,功能化,为软件开发提供服务的时代应该已经是现在时,数据库应该不应该像MYSQL 一样沦为一个容器化的数据存储工具,还是应该成为一个提供模块化功能扩展和性能优化的功能提供者,这点见仁见智,也看所处的使用场景和人员,我认为MYSQL分表,并且在架构上对运维和开发以及DB人员在初期部署,软件设计,运维难度(备份,操作,数据汇聚)等等问题MYSQL本身不能解决,而需要更多技术架构的加入,这点对于一些非互联网企业或者技术能力薄弱的单位,选择MYSQL是否合适,值得思索。

因为3年前,在没有深入接触PG之前,我的确是认为分表扩展,MYSQL比 SQL SERVER ORACLE 高大上的太多了,但至少今时今日的我,看过去,我还真有点 SB, 希望我是进步了。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档