暂无图片
暂无图片
5
暂无图片
暂无图片
暂无图片

PostgreSQL 15新特性预览:版本兼容性

原创 多米爸比 2022-05-20
3925

5月19日,PostgreSQL 15 beta版本已发布,本文参考官方release文档E.1.2.小节,迁移到版本15的部分兼容性解读。

官方release文档链接如下:
https://www.postgresql.org/docs/15/release-15.html

1.public模式相关

public模式相关有两条:

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

image.png

从上面的测试截图可以看到对比区别,如果要保持与旧版本的兼容性,可以修改template1,添加create权限。

2.backup相关

  • 删除了pg_start_backup函数的exclusive参数
  • pg_start_backup重命名为pg_backup_start
  • pg_stop_backup重命名为pg_backup_stop
  • pg_backup_start_time函数被移除
  • pg_is_in_backup函数被移除

image.png

移除了对排他性备份的支持,以前默认排他性备份的模式下如果数据库服务器突然停止了,服务器可能会启动失败。

3.参数默认值相关

hash_mem_multiplier由1.0增大到2.0
image.png

hash_mem_multiplier是pg13增加的参数,用来计算基于hash操作可以使用的最大内存。在13和14里默认值是1,15里默认值由1.0增大到2.0,允许hash操作相比其它操作可以使用双倍的work_mem。

4.间隔类型与函数输出相关

Mark the interval output function as stable, not immutable, since it depends on IntervalStyle

下面截图是IntervalStyle控制间隔类型的输出,上面描述的功能可能与创建基于函数的索引有关。
image.png

5.备份时同步快照相关

synchronized-snapshots功能是9.2版本引入,如果对9.2之前的版本使用并行dump,需要保证与主库建立连接到最后一个并行进程连接期间不对数据库做任何修改。那如果对9.2之前的版本使用-j进行备份时需要加-no-synchronized-snapshots选项。
image.png

9.2版本已经是比较老的版本,新的版本都支持synchronized-snapshots功能,因而pg_dump功能移除了–no-synchronized-snapshots选项

6.临时对象schema名称显示优化

explain执行计划里临时对象的schema名称固化

image.png

临时表是在一个特殊的schema里,可以看到左边的执行计划截图,实际的schema名称是一个动态的名称。新版本执行计划里显示临时对象的schema固定显示为pg_temp。

7.自定义变量限制

已安装扩展插件名称不允许作为自定义变量前缀,否则在扩展插件加载时会自动删除该变量。
image.png

8.移除了stats_temp_directory参数

删除了stats_temp_directory参数

image.png

9.random函数算法优化

random随机数生成算法发生改变
image.png
对比14和15来看,最明显的长度也是不一样的。

保持联系

从2019年12月开始写第一篇文章,分享的初心一直在坚持,本人现在组建了一个PG乐知乐享交流群,欢迎关注我文章的小伙伴加我微信进群吹牛唠嗑,交流技术。

456.png

最后修改时间:2022-11-08 09:50:58
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
1人已赞赏
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论