2022 年 6 月 23 日,墨天轮技术社区联结 PostgreSQL 中文社区独特举办【PostgreSQL 15 新个性解读】直播流动。
小编在这里整顿了直播间的代表性问题,请老师为大家解答。并在文末附上视频回放与 PPT 课件,以便大家下载、回顾。
直播亮点回顾
直播间的四位讲师别离从性能体验更新、新旧版本比照,最佳技术实际等主题开展解说,干货满满。
来自中兴通讯数据库内核系统工程的 尚长军老师 分享的主题是《PostgreSQL 15 Beta 1 新个性解读》,他从利用、工具、Contirb 等三个方面登程,对 Sort 排序、WAL 压缩算法、\Doconfig 命令、“_ _” 正文、\watch 命令、\getenv 命令等多个改良做了具体解读。
以新版本的 Sort 排序为例,通过比照测试 10000 行整数值排序的性能、仅存储 Dantum 性能晋升很显著,新版本相较 PG14 快了近 26%。
来自云和恩墨的 PG 技术顾问 彭冲老师 带来了《PostgreSQL 15 局部新个性预览》的主题分享,介绍了新版本在参数、开发以及并行个性等方面的改良优化。从参数登程,新版本就新增了 GUC 加强外部标记治理、可配置权限、新增参数权限零碎表、自定义变量限度等四个改良。
云和恩墨的技术顾问 阎书利老师 分享的主题是《PostgreSQL 15 零碎表、视图及期待事件改变 》,他为大家介绍了新版本在零碎表、视图及期待事件上的改变。
在零碎标中新增 pg_publication_namespace,当在 CREATE PUBLICATION 语句中指定 FOR ALL TABLE IN SCHEMA 子句时,会把信息存储下来,提供 publication 和 schema 之间的映射。15 版本新个性通过模式公布,反对 FOR ALL TABLE IN SCHEMA 语法。
最初一位退场的是海能达通信股份有限公司 PostgreSQL 高级 DBA 崔鹏老师,他带来的主题是《PostgreSQL 15 版本迁徙兼容性解析》。崔老师不仅解析了降级兼容性之 28 项不兼容迁徙,同时还带大家对 PG15 新个性做了整体预览。
置信本次分享可能帮忙大家加深对新版本的理解,从而更好利用实战。
问答汇总
四位讲师分享的内容干货满满,直播间的问答区也十分踊跃。墨天轮在此整顿了代表性的问题,邀请讲师们以文字的模式答复,以供大家学习交换。
尚长军
Q1、请问老手学习 PostgreSQL 数据库,从哪个版本动手比拟好?
答:能够从最近的版本动手即可,比方 PG14。
Q2、公司应用部署 PG 的话,哪个版本比较稳定?
答:目前 PG 简直每年都会有大版本公布,如果 兼顾稳固和性能,倡议 12.7;如果须要用到 一些新的能力,能够采纳 14.2。
Q3、PG 能够跨版本升级吗?
答:能够的。
Q4、MERGE 新个性是否和其余支流的数据库兼容,据说仅仅反对 PL/PGSQL,那么对相干表的触发器是否有影响?
答:老版本的 MERGE 无论是从语法还是用法,都和支流的如 Oracle 差异比拟大,因而对触发器的利用是有影响的。
据说 PG15 做了改良,更合乎 SQL 规范了,能够用新版本测试一下。
Q5、PG10 能够间接降级到 PG15 吗?
答:能够的,咱们通过 pg_upgrade 工具进行过 pg10 到 pg14 的降级。
Q6、PG15 在 windows 下有什么新的扭转?
答:新的个性基本上在 Windows 上都是反对的,除了极少数个性。
Q7、pl/pgsql 编程有没有好的教程?
答:目前市面上无关 pg 的技术书籍曾经很多了,我感觉最好的教程还是 PG 各个版本的官网参考手册。
彭冲
Q1、有没有 PG 和 mysql、Oracle 迁徙的相干工具,能够提供一下?
答:常见的工具有 pgloader 迁徙 mysql、ora2pg 迁徙 oracle。
Q2、oracle 19c 迁徙到 PG 那个版本好?
答:激进一点能够应用 13。
Q3: 相似 Oracle11g interval 分区的主动扩大分区的性能会退出到 PG 里吗?
答:目前还没看到,未来版本可能有。
阎书利
Q1、请问 pg 老手有什么学习材料和书籍能够举荐吗?
答:《PostgreSQL 修炼之道 从小工到专家》、官网文档
Q2、pg_index 这个改变,应该来说 null 只能有一个或者不能有空值这样才正当,之前为啥能够插入多个 null 值,基于什么思考设计的呢?
答:这个应该和业务无关,不同业务需要不统一
Q3、pg_index 是整个 cluster 共享的还是每个数据库领有一份?
答:pg_index、pg_class 这类的零碎表是每个数据库独享一份,这些是在数据库创立时从模板数据库拷贝过去的,然而相似于 pg_database、pg_namespace 这些是整个 cluster 的所有数据库共享的。
Q4、老师,PostgreSQL 数据库和支流 MySQL 和 Oracle 的相同点和区别有那些呀?
答:其实异同是比拟多的。这里我次要说几点要害的:
- 1. 三个都是关系型数据库
- 2.ORACLE 是免费的,且不开源。MYSQL 和 PostgreSQL 是开源的,然而 PostgreSQL 的开源协定更彻底一些
- 3. 数据库 MVCC 的实现办法有两种:
(1)写新数据时,把旧数据移到一个独自的中央,如回滚段中,其他人读数据时,从回滚段中把旧的数据读出来;
(2)写数据时,旧数据不删除,而是把新数据插入。
PostgreSQL 数据库应用第二种办法,而 Oracle 数据库和 MySQL 中的 innodb 引擎应用的是第一种办法。
Q5、Mysql 转 PG 有什么现成好用的工具?
答:能够应用比方 pgloader、FDW 等形式迁徙
Q6、想理解内核与源码,请问老师有没有举荐的学习材料?
答:能够看看《PostgreSQL 数据库内核剖析》这本书,再能够多看看源码的正文局部,一样能够学到很多常识。
崔鹏
Q1、执行打算查看有没有具体的解释?
答:举荐大家看下《PostgreSQL 修炼之道 从小工到专家》这本书,
或者看下德哥视频中解说 explain 这部分的内容。
Q2、pg 的执行打算,查看的程序是?
答:
postgres=# explain (analyze, verbose, costs, buffers, timing) select count(*) from t1;
QUERY PLAN
------------------------------------------------------------------------------------------------------------
Aggregate (cost=20.75..20.76 rows=1 width=8) (actual time=0.017..0.018 rows=1 loops=1)
这个节点的输入, 聚合, 输入第一行前的开销是 20.75
聚合的开销 =20.75..20.76
Output: count(*)
Buffers: shared hit=1 这个节点以及上级节点的 BUFFER 统计项
-> Seq Scan on public.t1 (cost=0.00..18.60 rows=860 width=0) (actual time=0.011..0.012 rows=6 loops=1)
这个节点的门路(全表扫描)
0.00 示意输入第一行前的老本, 如这里输入第一行前不须要排序为 0.00. 前面是这个节点实在的工夫
Output: id, name, age 这个节点输入的列
Buffers: shared hit=1 这个节点的 shared buffer 命中 1 个 page
Planning Time: 0.050 ms SQL 解析工夫
Execution Time: 0.102 ms 总的执行工夫
(8 rows)
执行打算 自下 向上 一个节点 一个节点看
Q3、pg 有特定的实用环境么?
答:OS 层面适配了所有支流操作系统。
应用 Citus 或者 GP 能够将 PG 实用于 HTAP 业务
Q4、pg 有 session 限度吗?
答:PG 是多过程架构, 如果会话过多 须要思考 会话过程占用的内存等资源
材料汇总
1、视频回放:PostgreSQL 15 新个性解读
2、直播材料:PostgreSQL 15 直播材料汇总
- 查看原文:https://www.modb.pro/db/423952
欲了解更多能够进入墨天轮社区,围绕数据人的学习成长提供一站式的全面服务,打造集新闻资讯、在线问答、流动直播、在线课程、文档阅览、资源下载、常识分享及在线运维为一体的对立平台,继续促成数据畛域的常识流传和技术创新。
关注官网公众号:墨天轮、墨天轮平台、墨天轮成长营、数据库国产化、数据库资讯