无标题文章

vi /etc/security/limits.conf

kingbase hard nofile 655360

kingbase soft nofile 655360

kingbase hard nproc 655360

kingbase soft nproc 655360

修改之后,还需要在 vi /etc/pam.d/login 最后加上一行: session required pam_limits.so

关闭NUMA

vi  /etc/sysctl.conf

vm.zone_reclaim_mode = 0

kernel.numa_balancing=0

sysctl -p

numactl --interleave=all pg_ctl start -D $PGDATA

修改内核参数:

vi  /etc/sysctl.conf

kernel.sem = 5010 5130240 5010 1024

#SEMMSL 每个信号量set中信号量最大个数 设置:最小250;对于processes参数设置较大的系统建议设置为processes+10

#SEMMNS linux系统中信号量最大个数 设置:至少32000;SEMMSL * SEMMNI

#SEMOPM semop系统调用允许的信号量最大个数设置:至少100;或者等于SEMMSL

#SEMMNI linux系统信号量set最大个数 设置:最少128。ceil((max_connections + autovacuum_max_workers + max_worker_processes + 5) / 16)

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 3774873

#shmmax/PAGE_SIZE

kernel.shmmax = 8589934592

#建议物理内存的80%,这样share buffer几乎不会超过物理内存的80%,可以保证share buffer在一个内存段内。       

kernel.shmmni = 4096

#共享内存段的最大数量,4096足以。 

vm.swappiness=0

vm.overcommit_memory = 0               

#0 试探式的overcommit,1 对内存申请来者不拒,2 禁止overcommit

vm.overcommit_ratio = 90

#禁止overcommit的阈值  (Physical RAM * vm.overcommit_ratio / 100) + Swap)

vm.dirty_background_ratio=1             

vm.dirty_ratio = 80

# TCP端口使用范围

net.ipv4.tcp_keepalive_time = 1200

net.ipv4.tcp_keepalive_probes = 3

net.ipv4.tcp_keepalive_intvl = 30

net.ipv4.ip_local_port_range = 10000 65000

net.ipv4.tcp_max_syn_backlog = 4096                     

#不完整套接字(连接)队列的最大长度

net.ipv4.tcp_max_tw_buckets = 6000

net.ipv4.tcp_fin_timeout = 30

# 记录的那些尚未收到客户端确认信息的连接请求的最大值

net.core.somaxconn=4096               

#它指定了完全建立的等待被接受的套接字的队列长度

net.core.netdev_max_backlog = 32768

net.core.wmem_max = 1048576

net.core.wmem_default = 8388608

net.core.rmem_default = 8388608

net.core.rmem_max = 16777216

net.ipv4.tcp_synack_retries = 2

net.ipv4.tcp_syn_retries = 2

net.ipv4.route.gc_timeout = 100

net.ipv4.tcp_wmem = 8192 436600 873200

net.ipv4.tcp_rmem  = 32768 436600 873200

net.ipv4.tcp_mem = 94500000 91500000 92700000

net.ipv4.tcp_max_orphans = 3276800

#重新加载生效

sysctl -p

应用程序的backlog是已经三次握手好的总数,对应net.core.somaxconn。

PostgreSQL 10

1.PostgreSQL 10 实现了声明式分区,PostgtreSQL 11完善了功能,PostgreSQL 12提升了性能。

2.PostgreSQL 10 增加了并行功能

3.PostgreSQL 10之后 hash索引可以走流复制,从此可以大胆的使用hash索引了。

4.PostgreSQL 10之后提供了逻辑复制的功能:发布订阅的功能

5.PostgreSQL 10可以把多列组合在一起再建直方图,让一些关联列上的执行计划更准确

6.可以支持同步复制到多个standby,即Quorum Commit

7.以前的密码验证式md5,现在增加了安全级别更高的密码验证的方式:SCRAM-SHA-256

PostgreSQL 11

1.JIT即时编译功能,提升一些批计算如SUM的性能,通常提升在10%左右。

2.存储过程中可以加commit或rollback事物

3.声明式分区表功能大大增强: 分区表可以加主键、外键、索引,支持hash分区表

4.CREATE INDEX可以并行

5.增加非空列也是瞬间完成,不需要rewrite表

6.hash join支持并行

7.vacuum增强:空闲空间可以更快的被重用,跳过一些没有必要的索引扫描

8.提升了多个并发事务commit的性能

9.逻辑复制支持truncate的同步

10.支持存储过程(CREATE PROCEDURE),并可以在存储过程中嵌入事务

11.CREATE INDEX使用INCLUDE可以非键值列放到索引中,以便走Covering indexes而不必回表

12.以前触发toast的压缩都需要插入的数据大于1996个字节时才会触发,这个1996字节是固定的,不能改,现在给表加了存储参数 13.toast_tuple_target,可以设置更新的值就可以触发toast的压缩机制

14.允许在initdb时改变 WAL文件的大小,以前是需要重新编译程序才能改变WAL文件的大小

15.现在在WAL日志中会把使用的部分填0,这样可以提高压缩率

PostgreSQL 12

1.PostgreSQL 12开始取消了recovery.conf,把配置项移动到postgresql.conf中

  为了表明此库是备库,需要在$PGDATA下建standby.signal 空文件。去掉了配置项standby_mode

  配置项trigger_file改名为promote_trigger_file

  PostgreSQL 12 只能同时配置恢复目标项的一项,不能同时配置:recovery_target, recovery_target_lsn, recovery_target_name, recovery_target_time, recovery_target_xid

  pg_stat_replication中增加了应用延迟时间字段: reply_time

2.减少了在创建GiST,GIN,SP-GiST索引的WAL日志量

3.max_wal_senders 连接数从 max_connections 剥离

4.支持在线重建索引:REINDEX CONCURRENTLY

5.在Btree索引中减少了不必要的多版本数据,提升了性能。

6.PG12默认开启了JIT

7.提升了position函数的性能

8.SERIALIZABLE事物事物隔离级别也可以并行查询

9.VACUUM增加了选项TRUNCATE,有可能不需要vacuum full也能释放部分空间到操作系统

10.分区表的性能得到了加强。

PostgreSQL 13

1.对vacumm增加了并行的功能

2.改变流复制的配置可以不用重启数据库了

3.更多的一些情况下可以对分区进行裁剪和智能join

  如原先智能join必须两个分区的范围精确相同,现在可以更智能了。CAFjFpRdjQvaUEV5DJX3TW6pU5eq54NCkadtxHX2JiJG_GvbrCA@mail.gmail.com"">https://www.postgresql.org/message-id/CAFjFpRdjQvaUEV5DJX3TW6pU5eq54NCkadtxHX2JiJG_GvbrCA@mail.gmail.com

  三个表的full outer join也可以走wise join

  分区智能join是从PostgreSQL 11版本添加的功能

4.分区表可以支持before trigger(不允许改变插入数据的目标分区)

5.分区表可以支持逻辑复制了

  之前只能把分区表的各个分区单独的做为复制源,现在可以把分区表直接做为复制源。

  先前订阅者只能把数据同步到非分区表,现在可以把数据同步到分区表

  Allow whole-row variables (that is, table.*) to be used in partitioning expressions (Amit Langote)

  支持异构分区表逻辑复制: http://www.postgres.cn/v2/news/viewone/1/604

  https://www.postgresql.org/message-id/flat/CA+HiwqH=Y85vRK3mOdjEkqFK+E=ST=eQiHdpj43L=_eJMOOznQ%40mail.gmail.com

6.索引中重复的项做了优化处理,更节省空间。重复的项只存储一次

7.聚合时使用hash算法可以使用磁盘做溢出存储

8.增量排序(Incremental sort)的功能

9.提升了PL/pgSQL中简单表达式的性能

10.pg_stat_statements插件增加了选项可以跟踪SQL的planning time,而不仅仅是执行时间

PostgreSQL 14

1.对大量的数据库链接时的事务吞吐量有了很大的改进,不光是事务在活动状态,在空闲状态也包括在内。

2.进一步减少了 B-树索引的资源消耗,包括频繁更新索引导致的表膨胀。GiST                  索引可以在构建过程中预先排序数据,能够更快地创建索引并减少索引大小。SP-GiST 索引支持覆盖索引,可以使用 INCLUDE 子句为索引增加不可搜索的额外字段。

3.增加了许多并行查询功能。除了对并行顺序扫描的整体性能提升之外,PL/pgSQL 中的 RETURN QUERY 指定现在可以并行执行,REFRESH MATERIALIZED VIEW 命令也可以使用并行查询。

4.还增加了使用 FDW 查询远程数据库时的并行执行功能。

5.改进了分区系统,包括更新或删除数据行影响很少分区时的性能提升。PostgreSQL 14 可以使用 ALTER TABLE … DETACH PARTITION … CONCURRENTLY 命令以非阻塞的方式卸载分区。

6.增量排序功能在 PostgreSQL 14 中可以用于窗口函数。

7.支持lz4压缩

8.VACUUM性能提升,并针对索引进行了优化。Autovacuum支持分区表。ANALYZE性能提升,新增maintain_io_concurrency参数。

9.新增pg_stat_progress_copy视图跟踪COPY的进度。

10.新增pg_stat_wal视图跟踪WAL活动,并从pg_stat_replication_slots视图检查复制槽的统计数据。

11.REINDEX支持分区表子分区索引。

12.增加了pg_amcheck工具来检查数据损坏。

PostgreSQL 15

1.Merge  SQL  COMMAND

2.更多JOSN 的函数

3.•public模式create权限默认被回收,public模式owner变为pg_database_owner

4.pg_basebackup 命令添加了压缩的功能,针对备份可以选择直接进行压缩

5.针对POSTGRESQL  FULL PAGE 的工作是其他数据库使用者吐糟的一个地方,如同MYSQL的 DOUBLE WRITE, PG15 针对这个问题提供了两种对FULL PAGE 的压缩功能,LZ4 , ZSTD 等两个压缩方式

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,125评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,293评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,054评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,077评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,096评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,062评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,988评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,817评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,266评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,486评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,646评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,375评论 5 342
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,974评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,621评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,796评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,642评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,538评论 2 352

推荐阅读更多精彩内容