网站建设和建议,无锡专业做网站,建设企业网站需要了解什么,响应式网站 框架unsetunsetPolarDB 商业版unsetunset 8 月#xff0c;PolarDB PostgreSQL 版兼容 PostgreSQL 15 版本#xff08;商业版#xff09;正式发布上线。 当前版本主要增强优化了以下方面#xff1a; 改进排序功能#xff1a;改进内存和磁盘排序算法。 增强SQL功能#xff1a;支… unsetunsetPolarDB 商业版unsetunset 8 月PolarDB PostgreSQL 版兼容 PostgreSQL 15 版本商业版正式发布上线。 当前版本主要增强优化了以下方面 改进排序功能改进内存和磁盘排序算法。 增强SQL功能支持SQL标准的MERGE命令。增加使用正则表达式的新函数用于检查字符串。 改进逻辑复制功能支持复制2PC事务发布内容可以使用WHERE进行过滤支持一次性发布Schema下所有的表。 优化数据库性能降低内存占用。崩溃恢复加速等。 在社区PostgreSQL 15的基础上PolarDB还支持一些独有的功能例如Ganos时空引擎全局执行计划缓存GBK/GB18030字符集等。在PolarDB PostgreSQL版 15的第一个发布版本中支持以下插件hll、hypopg、log_fdw、pase、pg_bigm、pg_cron、pg_jieba、pg_repack、pg_similarity、pgtap、pgvector、pldebugger、prefix、roaringbitmap、rum、varbitx、zhparser、ganos。 同时PolarDB进行了深入的性能优化例如优化SIMD指令集和原子操作指令集的使用并在事务处理等模块中使能。使用 PGO、BOLT、LTO、代码段大页等系统级优化手段。支持批量读取、扩展优化IO性能并进行了深入的参数调优提供了极致性能。 详情参阅 https://help.aliyun.com/zh/polardb/polardb-for-postgresql/polardb-postgresql-version-15-officially-released unsetunsetPolarDB 开源版unsetunset 9 月初开源 PolarDB PostgreSQL 15 兼容版本正式发布。 开源云原生数据库 PolarDB PostgreSQL 15 兼容版正式发布上线该版本 100% 兼容开源 PostgreSQL 15。PolarDB 是阿里云自研云原生关系型数据库基于共享存储的存算分离架构使其具备灵活弹性和高性价比的特性在开源 PostgreSQL 很好的性能表现的基础上极大增强了可扩展性和弹性。 开源代码仓库 https://github.com/ApsaraDB/PolarDB-for-PostgreSQL/tree/POLARDB_15_STABLE PolarDB PG 15 有诸多值得关注的特性具体参阅 开源云原生数据库 PolarDB PostgreSQL 15 兼容版本正式发布 unsetunset开源 PolarDB PG 15 编译安装unsetunset 依赖安装 服务器操作系统为Rocky Linux 8.10 (Green Obsidian) 除一般 PG 所需依赖包之外PolarDB PG 15 还需安装如下依赖。 dnf install readline-devel llvm-toolset cmake libuuid-devel perl-IPC-Run perl-Test-Simple 如缺失可能会遇到如下报错。 报错 configure: error: library uuid is required for E2FS UUID需安装 libuuid-devel 报错 configure: error: library unwind is required for backtrace support需安装 libunwind-devel 报错 configure: error: Additional Perl modules are required to run TAP tests需安装 perl-IPC-Run perl-Test-Simple 编译安装 开源代码中已提供编译脚本直接运行即可。 [shawnyanrl8 PolarDB-for-PostgreSQL-POLARDB_15_STABLE]$ ./build.shBegin stop and clean existing cluster, may raising errors, ignore themBegin clean existing installation, may raising errors, ignore themBegin configure, flag: --enable-depend --with-uuide2fs --disable-rpath --with-segsize128 --enable-debug --enable-cassert --enable-tap-tests --enable-fault-injector --with-openssl --enable-nls --with-libxml --with-libxslt --with-icu --with-pam --with-gssapi --with-ldap --with-perl --with-python --with-tcl --with-llvm --with-lz4 --with-zstd --with-system-tzdata/usr/share/zoneinfo --with-libunwind -q --prefix/home/shawnyan/tmp_polardb_pg_15_base --with-pgport55992Begin compile and install PolarDBBegin init PolarDB clusterBegin initdb, flag: -k -A trust -D /home/shawnyan/tmp_polardb_pg_15_primaryFollowing command can be used to connect to PolarDB:export PATH/home/shawnyan/tmp_polardb_pg_15_base/bin:$PATHpsql -h127.0.0.1 -p55992 postgres #primary 查看版本 安装完成后已自动运行单实例节点可连接到 PolarDB 查看基础信息。 psql (PostgreSQL 15.8-ShawnYan (PolarDB 15.8.2.0 build unknown debug) on x86_64-linux-gnu)Type help for help.postgres# select version(); version------------------------------------------------------------------------------------- PostgreSQL 15.8-ShawnYan (PolarDB 15.8.2.0 build unknown debug) on x86_64-linux-gnu(1 row)postgres# \l List of databases Name | Owner | Encoding | Collate | Ctype | ICU Locale | Locale Provider | Access privileges----------------------------------------------------------------------------------------------------------------- polardb_admin | shawnyan | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | libc | T/shawnyan | | | | | | | shawnyanCTc/shawnyan postgres | shawnyan | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | libc | template0 | shawnyan | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | libc | c/shawnyan | | | | | | | shawnyanCTc/shawnyan template1 | shawnyan | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | libc | c/shawnyan | | | | | | | shawnyanCTc/shawnyan(4 rows) unsetunset也值得关注的改动 -- pg_walinspectunsetunset 在诸多变更中有一项也值得关注 增加内置扩展 pg_walinspect 允许您直接从 SQL 接口检查 WAL 日志文件内容。 pg_walinspect pg_walinspect 模块提供了一系列 SQL 函数允许用户探究 Write-Ahead LogWAL中的内容。这个模块的出现改变了之前只能通过外部工具查看 WAL 日志信息的做法比如 pg_waldump使得在数据库内部直接查看 WAL 日志成为可能从而提高了操作性和便利性。 该模块的所有功能将使用当前服务器的时间线ID提供WAL信息。此模块的所有函数都将尝试查找位于给定或之后的第一个有效 WAL 记录in_lsn如果start_lsn没有这样的记录可用则会发出错误。同样end_lsn必须可用如果它位于记录中间则整个记录必须可用。 默认情况下这些功能的使用仅限于超级用户和角色成员 pg_read_server_files。超级用户可以使用 GRANT 向其他人授予访问权限。 通过执行下面命令用户可以激活这个扩展。 postgres# CREATE EXTENSION pg_walinspect;CREATE EXTENSIONpostgres# \dx pg_walinspect List of installed extensions Name | Version | Schema | Description--------------------------------------------------------------------------------------------- pg_walinspect | 1.0 | public | functions to inspect contents of PostgreSQL Write-Ahead Log(1 row) pg_walinspect 模块提供的功能包括 pg_get_wal_record_info(pg_lsn) 获取给定 LSN 的 WAL 记录信息。 pg_get_wal_records_info(pg_lsn,pg_lsn) 获取 start_lsn 和 end_lsn 之间的所有有效 WAL 记录的信息。每个 WAL 记录返回一行。 pg_get_wal_records_info_till_end_of_wal(pg_lsn) 此函数与 pg_get_wal_records_info() 相同不同之处在于它获取从 start_lsn 到 WAL 结束的所有有效 WAL 记录的信息。 pg_get_wal_stats(pg_lsn,pg_lsn,boolean) 获取 start_lsn 和 end_lsn 之间所有有效 WAL 记录的统计信息。 pg_get_wal_stats_till_end_of_wal(pg_lsn,boolean) 此函数与 pg_get_wal_stats() 相同不同之处在于它获取从 start_lsn 到 WAL 结束的所有有效 WAL 记录的统计信息。 pg_walinspect 模块的使用示例 创建测试表 postgres# SELECT pg_current_wal_lsn(); pg_current_wal_lsn-------------------- 0/40C012A0(1 row)postgres# create table t (id int, name varchar(10));CREATE TABLEpostgres# insert into t select 1,S;INSERT 0 1postgres# SELECT pg_current_wal_lsn(); pg_current_wal_lsn-------------------- 0/40C02680(1 row) 执行 pg_get_wal_records_info postgres# SELECT * FROM pg_get_wal_records_info(0/40C012A0,0/40C02680) where resource_manager not in (Btree, Heap2); start_lsn | end_lsn | prev_lsn | xid | resource_manager | record_type | record_length | main_data_length | fpi_length | description | block_ref----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 0/40C012A0 | 0/40C012D0 | 0/40C01268 | 0 | XLOG | FPI_FOR_HINT | 44 | 0 | 0 | | blkref #0: rel 1663/5/2663 fork main blk 2 0/40C012D0 | 0/40C01300 | 0/40C012A0 | 0 | XLOG | FPI_FOR_HINT | 44 | 0 | 0 | | blkref #0: rel 1663/5/2704 fork main blk 2 0/40C01300 | 0/40C01330 | 0/40C012D0 | 742 | Standby | LOCK | 42 | 16 | 0 | xid 742 db 5 rel 16396 | 0/40C01330 | 0/40C01360 | 0/40C01300 | 742 | Storage | CREATE | 42 | 16 | 0 | file-dio:///home/shawnyan/tmp_polardb_pg_15_data/base/5/16396 | 0/40C01360 | 0/40C01438 | 0/40C01330 | 742 | Heap | INSERT | 211 | 3 | 0 | off 14 flags 0x00 | blkref #0: rel 1663/5/1247 fork main blk 14 0/40C015A0 | 0/40C015D0 | 0/40C01558 | 742 | XLOG | FPI_FOR_HINT | 44 | 0 | 0 | | blkref #0: rel 1663/5/2704 fork main blk 4 0/40C015D0 | 0/40C016A8 | 0/40C015A0 | 742 | Heap | INSERT | 211 | 3 | 0 | off 15 flags 0x00 | blkref #0: rel 1663/5/1247 fork main blk 14 0/40C01810 | 0/40C018E0 | 0/40C017C8 | 742 | Heap | INSERT | 203 | 3 | 0 | off 3 flags 0x00 | blkref #0: rel 1663/5/1259 fork main blk 0 0/40C01D98 | 0/40C01DC8 | 0/40C01BE0 | 742 | XLOG | FPI_FOR_HINT | 44 | 0 | 0 | | blkref #0: rel 1663/5/1249 fork fsm blk 2 0/40C01DC8 | 0/40C01DF8 | 0/40C01D98 | 0 | Standby | LOCK | 42 | 16 | 0 | xid 742 db 5 rel 16396 | 0/40C01DF8 | 0/40C01E30 | 0/40C01DC8 | 0 | Standby | RUNNING_XACTS | 54 | 28 | 0 | nextXid 743 latestCompletedXid 741 oldestRunningXid 742; 1 xacts: 742 | 0/40C02460 | 0/40C02618 | 0/40C02418 | 742 | Transaction | COMMIT | 437 | 408 | 0 | 2024-09-05 20:32:49.18967809; inval msgs: catcache 80 catcache 79 catcache 80 catcache 79 catcache 55 catcache 54 catcache 7 catcache 6 catcache 7 catcache 6 catcache 7 catcache 6 catcache 7 catcache 6 catcache 7 catcache 6 catcache 7 catcache 6 catcache 7 catcache 6 catcache 7 catcache 6 snapshot 2608 relcache 16396 | 0/40C02618 | 0/40C02658 | 0/40C02460 | 743 | Heap | INSERTINIT | 61 | 3 | 0 | off 1 flags 0x00 | blkref #0: rel 1663/5/16396 fork main blk 0 0/40C02658 | 0/40C02680 | 0/40C02618 | 743 | Transaction | COMMIT | 34 | 8 | 0 | 2024-09-05 20:32:53.9208709 |(14 rows) 执行 pg_get_wal_stats postgres# SELECT * FROM pg_get_wal_stats(0/40C012A0,0/40C02680) where record_size ! 0; resource_manager/record_type | count | count_percentage | record_size | record_size_percentage | fpi_size | fpi_size_percentage | combined_size | combined_size_percentage-------------------------------------------------------------------------------------------------------------------------------------------------------------------- XLOG | 4 | 8 | 176 | 3.5284683239775463 | 0 | 0 | 176 | 3.5284683239775463 Transaction | 2 | 4 | 471 | 9.442662389735364 | 0 | 0 | 471 | 9.442662389735364 Storage | 1 | 2 | 42 | 0.8420208500400962 | 0 | 0 | 42 | 0.8420208500400962 Standby | 3 | 6 | 138 | 2.7666399358460305 | 0 | 0 | 138 | 2.7666399358460305 Heap2 | 7 | 14 | 1515 | 30.3728949478749 | 0 | 0 | 1515 | 30.3728949478749 Heap | 4 | 8 | 686 | 13.753007217321572 | 0 | 0 | 686 | 13.753007217321572 Btree | 29 | 58 | 1960 | 39.29430633520449 | 0 | 0 | 1960 | 39.29430633520449(7 rows) unsetunset引用说明unsetunset [1] https://openpolardb.com/document?typePolarDB-X [2] https://www.postgresql.org/docs/15/pgwalinspect.html unsetunset新书推荐unsetunset 推荐两本新书 《DBA实战手记》薛晓刚 本书是一本指导DBA进行数据库开发和运维的实用手册本书共9章包括漫谈数据库、如何提升数据库性能、如何运维好数据库、如何进行数据库设计、如何做好数据库之间的数据同步、认识HTAP技术、认识数据库的功能原理、认识数据库中的数学逻辑与算法以及DBA的日常数据库管理及开发的最佳实践。 内容特色: 精彩的实战案例。本书为数据库实践经验集将为广大数据库从业人员带来巨大的帮助和启发也为企业的信息化和智能化建设提供坚实的技术支持。 丰富的扩展阅读。本书附录:DBA杂谈分享了包括DBA的职业规划等的六个话题。并以在线的扩展阅读方式呈现类型数据库的应用场景等实践案例。 全彩印刷提供优质阅读体验。 薛老师及其团队奉献给广大同仁的数据库实践经验集《DBA实战手记》一经出版便收到了广泛好评盖国强、白鳝徐戟、贺仁龙为这本书倾情作序周正中德哥、侯圣文、耿航、吴洋鼎力推荐。 《快速掌握PostgreSQL版本新特性》彭冲 本书对PostgreSQL的7个大版本从PostgreSQL 10到PostgreSQL 16根据公开的新特性实验手册、新特性相关的文章、邮件列表、社区核心提交者相关的博客以及官方Release Notes等素材进行精加工并从主要性能、可靠性、运维管理、开发易用性、系统层5个方面进行介绍。 推荐理由 素材丰富。本书吸取了大量国内外资料我们不断学习这些新特性就如农民伯伯烧荒播种为日后的故障案例分析打下基础。 特性关联。PG数据库里的一些新特性有来自其他数据库的应用场景也有同步实现其他接口协议的功能还有各版本不断演进的特性。本书对有关联的一些特性将其前幕背景进行了铺垫及关联陈述。 先知后验。大家看到的一些新特性文章可能基于某个dev开发快照版本亦或是beta测试版本而版本正式发布时某些特性可能会有变化。本书新特性的示例代码均以正式版为基准先知而后验对一些功能进行了修订。 获取方式 通过PGFans问答社区积分兑换。https://www.modb.pro/point/mall 通过PGFans问答社区积分兑换。https://pgfans.cn/shop 网购。 本文由 mdnice 多平台发布 文章转载自: http://www.morning.nwllb.cn.gov.cn.nwllb.cn http://www.morning.nhlyl.cn.gov.cn.nhlyl.cn http://www.morning.yxwcj.cn.gov.cn.yxwcj.cn http://www.morning.wkjzt.cn.gov.cn.wkjzt.cn http://www.morning.ltpzr.cn.gov.cn.ltpzr.cn http://www.morning.sgfnx.cn.gov.cn.sgfnx.cn http://www.morning.wclxm.cn.gov.cn.wclxm.cn http://www.morning.bpmnj.cn.gov.cn.bpmnj.cn http://www.morning.rqdx.cn.gov.cn.rqdx.cn http://www.morning.clzly.cn.gov.cn.clzly.cn http://www.morning.sypby.cn.gov.cn.sypby.cn http://www.morning.gypcr.cn.gov.cn.gypcr.cn http://www.morning.xclgf.cn.gov.cn.xclgf.cn http://www.morning.dtzsm.cn.gov.cn.dtzsm.cn http://www.morning.qfmcm.cn.gov.cn.qfmcm.cn http://www.morning.ypmqy.cn.gov.cn.ypmqy.cn http://www.morning.xczyj.cn.gov.cn.xczyj.cn http://www.morning.rfyk.cn.gov.cn.rfyk.cn http://www.morning.lfcfn.cn.gov.cn.lfcfn.cn http://www.morning.gqfjb.cn.gov.cn.gqfjb.cn http://www.morning.kabaifu.com.gov.cn.kabaifu.com http://www.morning.rwfj.cn.gov.cn.rwfj.cn http://www.morning.sfgzx.cn.gov.cn.sfgzx.cn http://www.morning.tgnwt.cn.gov.cn.tgnwt.cn http://www.morning.dtrz.cn.gov.cn.dtrz.cn http://www.morning.gqhgl.cn.gov.cn.gqhgl.cn http://www.morning.yfwygl.cn.gov.cn.yfwygl.cn http://www.morning.tqjks.cn.gov.cn.tqjks.cn http://www.morning.rjjjk.cn.gov.cn.rjjjk.cn http://www.morning.pctsq.cn.gov.cn.pctsq.cn http://www.morning.nrtpb.cn.gov.cn.nrtpb.cn http://www.morning.qrnbs.cn.gov.cn.qrnbs.cn http://www.morning.pjxlg.cn.gov.cn.pjxlg.cn http://www.morning.wpjst.cn.gov.cn.wpjst.cn http://www.morning.mlzyx.cn.gov.cn.mlzyx.cn http://www.morning.rzmlc.cn.gov.cn.rzmlc.cn http://www.morning.mzrqj.cn.gov.cn.mzrqj.cn http://www.morning.rhkq.cn.gov.cn.rhkq.cn http://www.morning.wjwfj.cn.gov.cn.wjwfj.cn http://www.morning.bby45.cn.gov.cn.bby45.cn http://www.morning.zfyr.cn.gov.cn.zfyr.cn http://www.morning.nrll.cn.gov.cn.nrll.cn http://www.morning.gyylt.cn.gov.cn.gyylt.cn http://www.morning.ryxyz.cn.gov.cn.ryxyz.cn http://www.morning.bxhch.cn.gov.cn.bxhch.cn http://www.morning.rxwnc.cn.gov.cn.rxwnc.cn http://www.morning.kyfnh.cn.gov.cn.kyfnh.cn http://www.morning.mjqms.cn.gov.cn.mjqms.cn http://www.morning.xnymt.cn.gov.cn.xnymt.cn http://www.morning.gbljq.cn.gov.cn.gbljq.cn http://www.morning.rgmls.cn.gov.cn.rgmls.cn http://www.morning.homayy.com.gov.cn.homayy.com http://www.morning.tqrbl.cn.gov.cn.tqrbl.cn http://www.morning.qlry.cn.gov.cn.qlry.cn http://www.morning.skrh.cn.gov.cn.skrh.cn http://www.morning.dxrbp.cn.gov.cn.dxrbp.cn http://www.morning.nyjgm.cn.gov.cn.nyjgm.cn http://www.morning.yzygj.cn.gov.cn.yzygj.cn http://www.morning.sbyhj.cn.gov.cn.sbyhj.cn http://www.morning.cpnsh.cn.gov.cn.cpnsh.cn http://www.morning.zkqwk.cn.gov.cn.zkqwk.cn http://www.morning.nchlk.cn.gov.cn.nchlk.cn http://www.morning.jfxdy.cn.gov.cn.jfxdy.cn http://www.morning.yqwrj.cn.gov.cn.yqwrj.cn http://www.morning.xckqs.cn.gov.cn.xckqs.cn http://www.morning.vnuwdy.cn.gov.cn.vnuwdy.cn http://www.morning.jntcr.cn.gov.cn.jntcr.cn http://www.morning.rlrxh.cn.gov.cn.rlrxh.cn http://www.morning.xpqdf.cn.gov.cn.xpqdf.cn http://www.morning.kgsws.cn.gov.cn.kgsws.cn http://www.morning.qgqck.cn.gov.cn.qgqck.cn http://www.morning.mpbgy.cn.gov.cn.mpbgy.cn http://www.morning.tqsnd.cn.gov.cn.tqsnd.cn http://www.morning.gyqnp.cn.gov.cn.gyqnp.cn http://www.morning.ljjph.cn.gov.cn.ljjph.cn http://www.morning.jcfg.cn.gov.cn.jcfg.cn http://www.morning.phechi.com.gov.cn.phechi.com http://www.morning.dbphz.cn.gov.cn.dbphz.cn http://www.morning.lgmty.cn.gov.cn.lgmty.cn http://www.morning.rjnky.cn.gov.cn.rjnky.cn