zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

PostgreSQL 俄罗斯发行版Postgrespro的特性

postgresql 特性 发行版 俄罗斯
2023-09-27 14:22:28 时间
背景

Postgrespro是俄罗斯的一家数据库公司,创始人OLEG是PostgreSQL社区的核心成员之一,一名在俄罗斯莫斯科国立大学,斯特恩伯格天文研究所做科学研究的天文学家。同时也担任Postgres Professional公司的首席执行官。也是极少数登顶过珠峰的科学家。

pic

云栖社区关于oleg的专访

https://yq.aliyun.com/articles/60800

postgrespro企业版本加了很多新的功能,和大多数PostgreSQL圈子的公司一样,postgrespro也是非常开放的一家公司,社区版本吸收这些功能的可能性非常大。

https://github.com/postgrespro/

另一家俄罗斯的公司ispras也放出过非常前沿的产品,Postgres-LLVM,目前JIT已经集成到PostgreSQL社区版本了。

感谢所有为PostgreSQL社区付出的人们。

Postgrespro vs PostgreSQL

Postgres Pro Enterprise is the most actual PostgreSQL version with some additional patches applied and extensions added. Mostly, these are patches already accepted by the PostgreSQL community and committed into PostgreSQL. Also there some patches and extensions developed by Postgres Professional. Users of Postgres Pro Enterprise thus have early access to some important features and fixes.

Currently the difference between Postgres Pro Enterprise and PostgreSQL is the following:


Performance improvement on multicore systems (buffer manager and locks optimization)
多核性能增强(BUFFER管理和锁管理优化)


Full text search improvements: phrase search, hunspell morphology, some dictionaries are bundled with distribution and can be enabled by a single SQL statement, shared_ispell allowing to store dictionaries in shared memory
全文检索增强,支持phrase搜索等。


pg_trgm module supporting fuzzy string comparison and substring search
支持fuzzy字符串搜索,substring搜索。(模糊、正则)


Improved pageinspect module provides access to internal data storage structure
增强:支持观测gin, sp-gist, gist等索引内部内容


sr_plan module allows to save and restore query plans
支持执行计划的存储和还原。通过这个可以改写SQL的执行计划,甚至可以把SELECT改写成INSERT等或者完全不相关的SQL。
《PostgreSQL Oracle 兼容性之 - SQL OUTLINE插件sr_plan (保存、篡改、固定 执行计划)》


dump_stat module allowing to save and restore database statistics when dumping/restoring the database
允许导出和还原统计信息,相当于将统计信息和数据分开了,这样做的好处是做迁移可以更快。
例如pg_upgrade升级版本,可以通过这种方法直接导入统计信息。对于超级大库,这个效率高很多。
又比如逻辑备份和还原,可以关闭autovacuum,然后通过这种方式导入统计信息。


jsquery module provides a specific language for effective index-supported querying of JSONB data
jsonb的扩展函数、操作符。


pg_pathman module provides optimized partitioning mechanism and functions to manage partitions
分区表插件,支持range,list,hash等分区方法,而且对性能损耗极小。
《PostgreSQL 9.5+ 高效分区表实现 - pg_pathman》


pg_probackup is a backup and recovery manager
支持块级增量备份、备份集的管理、恢复。类似Oracle RMAN。


mchar module provides additional data type to compatibility with Microsoft SQL Server
兼容SQL Server的数据类型。


fulleq module provides additional equivalence operator to compatibility with Microsoft SQL Server
兼容SQL Server的等于操作符。


fasttrun module provides transaction unsafe function to truncate temporary tables without growing pg_class size
outer temp table,不造成pg_class, pg_attribute的变更。
目前PG的temp table是会话级,每次使用都会擦写pg_class, pg_attribute,产生系统表垃圾。需要autovacuum自动回收这些垃圾。


online_analyze module provides set of changes, which immediately update stats after INSERT, UPDATE, DELETE or SELECT INTO operations applied for affected tables
和autovacuumm的analyze工作差不多。


plantuner module provides hits for planner, which can do disable or enable indexes for query execution
sql hint,类似Oracle hint功能。强制设置SQL的执行计划。


Added k-nearest neighbors algorithm (KNN) for SP-GiST and B-tree (See Chapter 61)
sp-gist,btree索引的KNN检索支持。例如通过sp-gist,btree索引求某个点附近的对象,某个数值、字符串最近的对象。等。


Added RUM index, based on GIN, as separate module (See Section F.53)
RUM索引接口,用于多值类型、全文检索等。支持全文检索的附加列搜索。类似多级树。
《PostgreSQL 全文检索加速 快到没有朋友 - RUM索引接口(潘多拉魔盒)》


Added support of autonomous transactions (See Chapter 16)
支持匿名事务,以往需要通过dblink来支持类似的功能。


Added new optional background worker to schedule tasks by rules (See pgpro_scheduler)
支持数据库任务调度。类似Oracle的JOB或scheduler功能。
以往需要通过pgagent来实现,或者通过系统的调度如crontab来实现。


Added support for relocatable tables (See pg_transfer)
文件级表传输特性。例如需要将一个表拷贝到其他数据库实例,不需要导出导入,直接拷贝文件。
《PostgreSQL 的表传输功能》
如果能做到库级,那么就类似Oracle 12C的PDB了,可以热插拔数据库。
加上库级物理恢复,则可以做到更强的插拔体验。


Transaction IDs on 64-bit platforms use 64-bit data type
终于支持64位xid了,不再需要freeze了。虽然PG 10的freeze在静态表层面已经基本不耗费资源了。


Added failover algorithm for libpq connections
libpq支持配置多主机,以及failover算法。


Implemented declarative syntax for partitioning. (See Section F.38.2.6.)
支持创建分区表。


Added mamonsu monitoring service, which is implemented as a Zabbix agent. (See mamonsu.)
支持zabbix agent。


Added pg_wait_sampling extension for sampling-based statistics of wait events. With this extension, you can get an insight into the server activity, including the current wait events for all processes and background workers.
支持等待事件的采样分析。


pg_tsparser module is an alternative text search parser.
新增一个全文检索parser: pg_tsparser。


Postgres Pro Enterprise releases are following the PostgreSQL releases, though sometimes occur more frequently. The Postgres Pro Enterprise versioning scheme is based on the PostgreSQL one and has an additional decimal place.

参考

https://github.com/ispras

https://postgrespro.com/docs/postgresproee/9.6/intro-pgpro-vs-pg.html


AnalyticDB PostgreSQL 7.0 支持存储过程(CREATE PROCEDURE)特性 AnalyticDB PostgreSQL 7.0 新增了存储过程功能的支持,让用户在使用ADB PG时能够更方便高效地开发业务,并能够更好地兼容Oracle等传统数仓的业务。
知识分享之PostgreSQL——OIDS的特性与新版本去除SQL 之前一直使用的PostgreSQL 9.6系列版本,由于官方不再维护了,就准备换成最新稳定版本的,查看了一下官方版本说明,发现13系列版本是目前稳定性较好的版本,于是兴冲冲的更换了过来,但随之而来的就是一些新特性,其中就比如表中的OID字段,这个字段是对象标识符,之前能用于行标记,现在发现只有表才具有这个隐藏字段,行数据没有这个支持了,于是就需要将老版本的表进行关闭掉这个字段。下面我们就开始关闭之旅。
PostgreSQL 14 版本特性浅析 ## 性能增强 ### 大量连接高并发优化 - 场景: SaaS场景,微服务架构下的中心库场景 - 业务特点:客户端多,在线用户多,数据库并发连接非常多 - 价值: 比连接池网络少1跳, 性能更好, 支持绑定变量等连接池会话模式不支持的全部功能 ### 索引增强 1. 缓解高频更新负载下的btree索引膨胀 - 场景: 数据频繁更新,如游戏、交易、共享出行、IoT等行业 - 价值: 减少膨胀
大分区表高并发性能提升100倍?阿里云 RDS PostgreSQL 12 特性解读 世界上几乎最强大的开源数据库系统 PostgreSQL,于 2019 年 10 月 3 日发布了 12 版本,该版本已经在阿里云正式发布。PostgreSQL 12 在功能和性能上都有很大提升,如大分区表高并发性能提升百倍,B-tree 索引空间和性能优化,实现 SQL 2016 标准的 JSON 特性,支持多列 MCV(Most-Common-Value)统计,内联 CTE(Common table expressions)以及可插拔的表存储访问接口等。本文对部分特性进行解读。
PostgreSQL , EDB EPAS PPAS(兼容Oracle) , Oracle 对比(兼容性、特性优劣势) - 企业去O,去IOE PostgreSQL , PPAS , EPAS , edb , enterprisedb , Oracle , 兼容性 , 优缺点 EPAS为EDB的PostgreSQL Oracle兼容企业版,基于PostgreSQL社区版本开发,2004年发布了第一个Oracle兼容版,已经在ORACLE兼容性上耕耘了15年。 2018年推出EPAS 11 版本,完成了 Oracle
PgSQL · 特性分析 · 浅析PostgreSQL 中的JIT title: PgSQL · 特性分析 · 浅析PostgreSQL 中的JIT author: 卓刀 ## 背景 估计很多同学看过之前的月报[PgSQL · 特性分析· JIT 在数据仓库中的应用价值](http://mysql.taobao.org/monthly/2016/11/10/),对JIT(just in time)和LLVM(Low Level Vir
PostgreSQL技术周刊第20期:PostgreSQL何以支持丰富的NoSQL特性? PostgreSQL(简称PG)的开发者们:云栖社区已有5000位PG开发者,发布了3000+PG文章(文章列表),沉淀了700+的PG精品问答(问答列表)。 PostgreSQL技术周刊会为大家介绍最新的PG技术与动态、预告活动、最热问答、直播教程等,欢迎大家订阅PostgreSQL技术周刊。
PostgreSQL技术周刊第17期:PostgreSQL用户应掌握的高级SQL特性 PostgreSQL(简称PG)的开发者们:云栖社区已有5000位PG开发者,发布了3000+PG文章(文章列表),沉淀了700+的PG精品问答(问答列表)。 PostgreSQL技术周刊会为大家介绍最新的PG技术与动态、预告活动、最热问答、直播教程等,欢迎大家订阅PostgreSQL技术周刊。
PostgreSQL何以支持丰富的NoSQL特性? 上篇文章 介绍了PostgreSQL的典型高级SQL特性,PostgreSQL不仅是关系型数据库,同时支持丰富的NoSQL特性,本文将从 《PostgreSQL实战》 一书的“ 第9章 PostgreSQL的NoSQL特性”中摘选部分内容介绍。
PostgreSQL用户应掌握的高级SQL特性 PostgreSQL数据库在SQL和NoSQL方面具有很多丰富的特性,本文将从 《PostgreSQL实战》 一书的“ 第4章 SQL高级特性”中摘选部分内容介绍。 这一部分主要介绍PostgreSQL在SQL方面的高级特性,例如WITH查询、批量插入、RETURNING返回修改的数据、UPSERT、数据抽样、聚合函数、窗口函数。