开发者社区 > PolarDB开源 > PolarDB 分布式版 > 正文

polarDB 兼容pg

兼容最新稳定版是哪一版本

是否支持按照扩展插件,例如UUID

迁移PG数据到polarDB需要注意的点

在线迁移涉及到的工具及解决方案

遇到问题阿里云服务多久能响应

展开
收起
海龙潮流 2023-08-01 08:05:14 172 0
9 条回答
写回答
取消 提交回答
  • 十分耕耘,一定会有一分收获!

    楼主你好,1. 目前阿里云PolarDB对PostgreSQL的兼容版本为PostgreSQL 11。

    1. 支持按照扩展插件,包括UUID。

    2. 迁移PG数据到PolarDB需要注意以下几点:

    • 数据库版本兼容性问题,需要确认目标数据库版本是否支持源数据库版本的数据导入。
    • 数据库字符集问题,需要确认目标数据库字符集是否与源数据库一致。
    • 数据库编码格式问题,需要确认目标数据库是否支持源数据库编码格式。
    • 数据库中使用的插件、存储过程、触发器等需要与目标数据库兼容。
    1. 阿里云提供了多种工具和解决方案来进行在线迁移,包括DTS(Data Transmission Service)、物理备份和恢复、逻辑备份和恢复等。

    2. 阿里云的服务响应时间取决于具体问题的性质和紧急程度,通常在几分钟到几个小时之间。

    2023-08-29 09:23:28
    赞同 展开评论 打赏
  • 北京阿里云ACE会长

    PolarDB for PostgreSQL 是对 PostgreSQL 的高度兼容的云原生数据库,支持大部分 PostgreSQL 的特性和功能。目前,PolarDB for PostgreSQL 支持的最新稳定版本是 PostgreSQL 13。

    在PolarDB for PostgreSQL中,您可以使用 PostgreSQL 支持的大部分扩展插件,包括UUID。不过需要注意的是,PolarDB for PostgreSQL 并非完全兼容 PostgreSQL 的所有扩展插件,一些特定的插件可能不被支持或者存在一些限制,您可以参考阿里云官方文档中有关PolarDB for PostgreSQL的说明,以了解具体的情况。同时,阿里云也提供了一些扩展插件,如TimescaleDB等,可以用于更好地支持时序数据的处理。

    2023-08-02 07:59:18
    赞同 展开评论 打赏
  • PostgreSQL版(兼容Oracle)的一款插件,该插件提供了全文本搜索能力,允许创建一个二元语法(2-gram)的GIN索引来加速搜索
    微信截图_20230724183141.png
    可以根据上述图片查询。下面是整个架构
    屏幕截图 2023-07-22 224808.png

    2023-08-01 22:15:08
    赞同 展开评论 打赏
  • PolarDB是阿里云提供的一种云原生关系型数据库产品,支持多种数据库引擎,包括兼容PostgreSQL(PG)的引擎。关于PolarDB兼容PG的具体版本和扩展插件的支持情况,以下是相关信息:

    1. 兼容最新稳定版:PolarDB for PostgreSQL目前兼容的是PostgreSQL 11版本。这意味着你可以使用与PostgreSQL 11相同的语法和功能来进行开发和管理。

    2. 扩展插件支持:PolarDB for PostgreSQL支持许多常用的扩展插件,包括UUID、HSTORE、JSONB、PostGIS等。你可以按照需要在PolarDB中启用这些插件,并使用它们提供的功能。

    2023-08-01 22:14:11
    赞同 展开评论 打赏
  • 天下风云出我辈,一入江湖岁月催,皇图霸业谈笑中,不胜人生一场醉。

    pg_bigm是PolarDB PostgreSQL版PolarDB PostgreSQL版(兼容Oracle)的一款插件,该插件提供了全文本搜索能力,允许创建一个二元语法(2-gram)的GIN索引来加速搜索

    2023-08-01 18:54:05
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    是的,PolarDB是一种云原生关系型数据库服务,可以兼容PostgreSQL(简称pg)。PolarDB for PostgreSQL提供了与标准的开源PostgreSQL数据库高度兼容的功能和接口,使您能够将现有的基于pg开发的应用程序迁移到PolarDB平台上。

    PolarDB for PostgreSQL支持大部分标准的PostgreSQL功能,包括SQL语法、数据类型、查询优化器、事务控制等。它还提供了与传统PostgreSQL数据库类似的命令行工具和管理界面,方便用户进行数据库的管理和操作。

    除了兼容pg之外,PolarDB还提供了许多高级功能和优势,例如分布式存储、自动扩缩容、高可用性、快速备份和恢复等。这些功能可以帮助用户更好地满足在云环境中运行大规模数据库的需求,并提供更高的性能和可靠性。

    总之,PolarDB for PostgreSQL提供了与pg兼容的环境,使得迁移和使用PostgreSQL-based应用程序变得更加简单和无缝。

    2023-08-01 14:44:58
    赞同 展开评论 打赏
  • 发表文章、提出问题、分享经验、结交志同道合的朋友

    1、可以兼容,建议直接上PolarDB PostgreSQL版,既融合了商业数据库稳定可靠、高性能、可扩展的特征,又具有开源云数据库简单开放、自我迭代的优势。

    2、PolarDB会随着内核版本的不断更新,不断支持新的插件或者新的插件版本

    以下是支持的插件列表:
    image.png

    image.png

    2023-08-01 09:25:49
    赞同 展开评论 打赏
  • 十年摸盘键,代码未曾试。 今日码示君,谁有上云事。

    PolarDB 是阿里云自研的云原生数据库产品家族,采用存储计算分离、软硬一体化设计,既拥有分布式设计的低成本优势,又具有集中式的易用性,为用户提供秒级弹性、高性能、海量存储、安全可靠的数据库服务。100%兼容MySQL和PostgreSQL生态,支持分布式扩展,高度兼容Oracle语法。

    开源云原生数据库 PolarDB 分布式版(PolarDB for Xscale,简称 “PolarDB-X”),是阿里云自主研发的高性能云原生分布式数据库产品,其采用 Shared-nothing 与存储计算分离架构,支持水平扩展、分布式事务、混合负载等能力,具备企业级、云原生、高可用、高度兼容 MySQL 系统及生态等特点。

    PolarDB MySQL 版,100%兼容 MySQL。产品具有多主多写、多活容灾、HTAP特性,交易性能最高可达开源数据库的6倍,分析性能最高可达开源数据库的400倍,TCO 低于自建数据库50%。

    开源云原生数据库 PolarDB PostgreSQL 版(PolarDB for PostgreSQL,简称 “PolarDB-PG”),是阿里云自主研发的云原生关系型数据库产品,100% 兼容 PostgreSQL;采用基于 Shared-Storage 的存储计算分离架构,具有极致弹性、毫秒级延迟、HTAP 的能力和高可靠、高可用、弹性扩展等企业级数据库特性。同时,PolarDB 具有大规模并行计算能力,可以应对 OLTP 与 OLAP 混合负载。同时支持阿里云自研Ganos多维多模时空信息引擎及开源PostGIS地理信息引擎。

    近日,OpenCloudOS 开源社区签署阿里巴巴开源 CLA (Contribution License Agreement, 贡献许可协议), 正式与阿里云 PolarDB 开源数据库社区牵手,并展开 OpenCloudOS (V8)与阿里云开源云原生数据库 PolarDB 分布式版、开源云原生数据库 PolarDB PostgreSQL 版兼容性适配。

    PolarDB 针对不同的数据库协议开发了不同的兼容版本,包括兼容 MySQL、PostgreSQL 和 Oracle 的版本,及每个版本的分布式形态。

    目前PolarDB 开源版本兼容PG 11, 所以只能使用TimescaleDB 1.7.x的版本, 未来PolarDB升级到14后, 可以使用TimescaleDB 2.x的版本.

    PolarDB for PostgreSQL率先开源的三节点高可用版本是PostgreSQL原生WAL复制协议与阿里自研的Paxos一致性协议算法库X-Paxos的一次完美结合,Logger节点的最小化资源成本、Learner节点的跨域只读、Leader节点的多模式选举等特征也让PolarDB for PostgreSQL独具特色。

    PolarDB for PostgreSQL紧随其后开源的分布式插件版,具有很好的规模化扩展能力和性能。这得益于全局强一致性所采用混合逻辑时钟(HLC)实现,MVCC和2PC协议结合算法实现的分布式事务。基于PostgreSQL独有的插件化技术实现分布式Sharding功能,最大限度的保证了分布式SQL计算对单机SQL的兼容能力。

    源码开放地址:

    https://github.com/alibaba/PolarDB-for-PostgreSQL

    PolarDB与PG完全兼容,包括SQL语法以及第三方插件等。如果使用不完全兼容的数据库,比如对PG做了深度改造的OpenGauss,在与Oracle数据库互通或使用监控数据的插件时,需要选择已经被OpenGauss验证过的插件,否则可能出现报错或不稳定等现象。而高度兼容的PolarDB完美规避了此类问题。

    PolarDB的只读节点与主库共享存储,无需在存储上应用日志,仅需在内存中应用日志,因此延迟非常低。

    使用PolarDB能够使功能更平稳。PolarDB使用CNS快照取代原有事务快照,多核性能线性扩展,实现了索引和数据页面的预读预扩展,发挥了存储池的大带宽能力。

    PolarDB为共享存储,无需迁移数据,可以在秒级内建立一个只读节点,使得弹性扩容更轻松。

    PolarDB为存储计算分离架构,数据库大小不再受限于本地磁盘的空间大小,存储空间巨大,空间利用率也得以提高,能后更好地满足业务的需求。

    PolarDB架构是基于共享存储的架构,下图是PolarDB整体架构视图,其中CM主要负责的工作包括整个Polar集群的管理,Top管理,高层管理、备份管理及审计管理。

    PolarDB的可用性完全独立于整个数据链路。PolarDB是将很多功能放在Agent中,例如审计、数据采集、监控、备份数据发送等等。

    Proxy,是读写路由的组件。PFSD是阿里云的分布式文件系统。

    PolarDB既可以运行在裸机上面,就是传统的物理机,还可以跑在国产的芯片,国产的操作系统,以及原生的 k8s上。此外阿里云基于 k8s做了很多的增强,PolarDB同样可以运行。这几种形态上PolarDB都是支持的。

    PolarDB兼容性: 下图列出了在阿里巴巴很多业务场景中,用户的用例中使用较多的功能上的兼容性,目前PolarDB的研发上也是在重点支持这些功能的兼容性。

    驱动接口中使用比较多的是OIC,JDBC以及ProC,基本上可以占据99%以上。Java的是JDBC,但是可能很少碰到ProC,尤其在公共云上的用户可能比较少见。但线下的传统的客户中,如金融类的客户会大量的使用ProC进行开发的业务程序。PolarDB基本上都可以兼容OCI里面的接口。ECPG里面包含Oracle的ProC代码的兼容。ECPG兼容最重要的并不是在于对ProC的支持,而在于C的代码的兼容。

    目前很多PolarDB线下的客户大量使用了基于XA C、ProC、Oracle Tuxedo结合的方式。

    语法的兼容性中包括数据类型、系统函数、伪列、PL/SQL、系统图以及系统包是比较常用的。PolarDB对于 Oracle PL/SQ的兼容性已经非常精准,可以满足大多数的业务场景。系统函数、视图和系统包,PolarDB大概可以支持30多个,这基本上足够了,下图中还列出来比较常用的伪列。

    功能兼容性中分区非常常用。主要的一些分区功能PolarDB都是支持的。Oracle里面有一个Resource Manager,PolarDB也在逐步的完善这个功能,PolarDB现在能够做到CPU和内存的隔离,同时可以做到数据库级别、甚至到用户级别的资源的隔离和限制。DBLINK方面,现在可以支持与Oracle DBLINK, 与PG的DBLINK,与阿里云 PolarDB DBLINK,以及公云上的PolarDB和PolarDB之间的DBLINK,可以支持线上的PolarDB与线下的Oracle之间的DBLINK。

    生态兼容性 —— AWR,AWR其实相当于是两次状态之间的快照,用户可以查看中间的Workload是什么样子的。

    生态兼容DataMax类似于Oracle的ADG。这个功能已经在线下的大量的公共云上都发布完成。PolarDB关注的Oracle的ADG中的Far Sync能力,它可以极大地降低对主库的读写负载。Far Sync可以首先将数据同步到 DataMax。因此可用性可以比原来的主备模式更高。

    DTS是数据同步工具,DTS支持数据数据全量迁移、数据增量同步、数据订阅SDK以及多种主流异构数据库,如MySQL,SQL Server、云上、云下、自建数据库。目前数据同步也支持双向的数据同步。用户生产系统同步的时候,并不是一次性同步过来的,而是一部分一次,一点一点同步。因此数据同步也是双向的,可以将一部分业务数据写到PolarDB,一部分业务写到Oracle。

    DBS类似于Oracle RMAN,备份管理工具。DBS支持全量备份,增量备份,差异备份。基于DBS能力可以做到源端重删、本地缓存、存储驱动。DBS具备自己的指纹库,从而提升数据备份的安全性。备份的数据可以存到DBS支持的源端,包括NAS、磁带库,OSS。

    生态兼容 —— PolarPlus(SQLPlus) PolarPlus与SQL Plus非常相似。感兴趣的同学可以参考PolarDB的官方文档。

    生态兼容 —— 开发工具(DBNavigator) 开发工具主要是通过DBNavigator做的。目前开发工具用户使用的比较多,尤其是PG生态同学。当然还有很多其它的工具,但是DBNavigator好处在于集成了驱动之后,可以与DBMS_Debug的包连起来,支持 PL/SQL的Debug,使用起来非常方便。

    性能优化方面PolarDB做了CSN快照,PolarDB快照获取方式是比较特殊。与MySQL相似,叫做XID快照,既获取当前系统的活跃事务链表,加上XMIN、XMAX,构造成一个快照,判断哪些数据是可见的,哪些是不可见的。PolarDB CSN快照同理,CSN快照是在CSN上加了一个XMINXMAX。CSN快照可以提供更高的性能。在高并发情况下,活跃事务特别多,快照的动作非常慢,因为需要做内存拷贝。

    数据库和应用迁移(Advanced Database & Application Migration, 以下简称ADAM)。目前PolarDB的迁移过程中,用户几乎不需要修改代码,迁移的时间越来越短的主要的原因是ADAM。ADAM是阿里云结合阿里巴巴多年内部业务系统数据库和应用异构迁移的经验,自主研发的、迁移Oracle数据库和应用上云的企业级迁云产品和解决方案,能帮助企业最大限度降低Oracle数据库和应用迁移上云的风险、技术难度和实施周期。

    ADAM可以做到线上,线下的用户直接部署到自己的用户端,通过对用户端的代码进行扫描,采集用户数据,分析用户代码中Oracle的部分哪些是兼容的,哪些是不兼容的,分析如何改进。ADAM还可以自动的对不兼容的代码进行改写,包括SQL翻译、数据库改造、应用改造、PL/SQL改写成JAVA。ADAM在用户迁移到PolarDB的过程中,采集了大量的用户的特征,当然用户已经授权了,分析用户在迁移过程中哪些功能PolarDB不支持。

    PolarDB基本已经支持调研的Top 100以内的功能。这使得大多数业务系统迁移到PolarDB越来越快,越来越方便。

    娃哈哈已经使用PostgreSQL多年,使用了大量逻辑复制,且备库仅提供一些业务的只读服务。使用PolarDB后,其架构为基于共享存储的一个主节点和一个只读节点,并配合PolarDB实现了CLup管理系统。数据库运行在SAN共享存储之上,使用CLup管理PolarDB。主节点出现问题后,数据库可快速切换至只读节点。后续,将会增加只读节点,便于快速扩容。PolarDB 的另一优势在于可以增加普通的备库,相当于数据可存储多份,保证了数据不丢。同时,将使用CLup对PolarDB进行定期备份。

    2023-08-01 09:13:43
    赞同 1 展开评论 打赏
  • PolarDB for PostgreSQL(简称polarDB)是阿里云推出的一种与原生PostgreSQL兼容的数据库服务。它支持大部分PostgreSQL功能,并提供了一些额外的性能优化和扩展特性。

    目前,PolarDB for PostgreSQL最新稳定版的兼容版本是PostgreSQL 12.5。这意味着polarDB支持使用PostgreSQL 12.5版本的语法、函数和特性。

    关于扩展插件的支持,PolarDB for PostgreSQL在某些常用的扩展插件上提供了支持,如hstorepgcryptopostgis等。

    2023-08-01 08:32:53
    赞同 1 展开评论 打赏
滑动查看更多

PolarDB 分布式版 (PolarDB for Xscale,简称“PolarDB-X”) 是阿里云自主设计研发的高性能云原生分布式数据库产品,为用户提供高吞吐、大存储、低延时、易扩展和超高可用的云时代数据库服务。

相关电子书

更多
云栖大会:开源 PolarDB 架构演进、关键技术与社区建设 立即下载
2023云栖大会:和客户一起玩转PolarDB新特性 立即下载
2023云栖大会:PolarDB for AI 立即下载