大家好,欢迎来到IT知识分享网。
文章目录
前言
2023年9月14日 – PostgreSQL 全球开发集团重磅宣布发布 PostgreSQL 16,这是世界上最先进的开源数据库的最新版本!
📣1 .新版本概述
PostgreSQL 16提高了性能,在查询并行性、批量数据加载和逻辑复制方面有显著改进。此版本为开发人员和管理员提供了许多功能,包括更多 SQL/JSON 语法、针对工作负载的新监控统计数据,以及定义访问控制规则以管理大型队列策略的更大灵活性。PostgreSQL 核心团队成员 Dave Page 表示:“随着关系数据库模式的发展,PostgreSQL 在大规模搜索和管理数据方面不断提高性能。” “PostgreSQL 16 为用户提供了更多方法来扩展和横向扩展其工作负载,同时为他们提供了获得见解和优化数据管理方式的新方法。”PostgreSQL 是一种以其可靠性和稳健性而闻名的创新数据管理系统,受益于全球开发者社区超过 25 年的开源开发,已成为各种规模组织的首选开源关系数据库。
本人也是pg的忠实爱好者,特总结了以下pg16新特性
✨ 1.1 性能改进
PostgreSQL 16在x86和ARM架构中都引入了使用SIMD的CPU加速,从而在处理ASCII和JSON字符串以及执行数组和子转换搜索时提高了性能
✨ 1.2 逻辑复制
PostgreSQL 16中对逻辑复制有一些访问控制改进,包括新的预定义角色pg_create_subscription,它允许用户创建新的逻辑订阅。最后,此版本开始添加对双向逻辑复制的支持,引入了在来自不同发布者的两个表之间复制数据的功能。
✨ 1.3 开发者经验
PostgreSQL 16 改进了对文本排序规则的一般支持 ,它提供了文本排序的规则。PostgreSQL 16 默认情况下构建 ICU 支持,从环境中确定默认的 ICU 区域设置,并允许用户定义自定义 ICU 排序规则。
✨1.4 监控
调整数据库工作负载性能的一个关键方面是了解 I/O 操作对系统的影响。PostgreSQL 16 引入了 pg_stat_io关键 I/O 指标的新来源,用于对 I/O 访问模式进行精细分析。
✨1.5 访问控制和安全
PostgreSQL 16 提供了更细粒度的访问控制选项并增强了其他安全功能。pg_hba.conf该 版本改进了文件的管理 pg_ident.conf ,包括允许用户和数据库名称的正则表达式匹配以及包含外部配置文件的指令.
📣2 .PG16部署
✨2.1 安装包下载
✨2.2 创建用户
✨2.3 创建目录
✨2.4 编译
make -j 4 && make install
✨2.5 配置环境变量
[pgsql@centos79 ~]$ cd [pgsql@centos79 ~]$ pwd /home/pgsql cat >> ~/.bash_profile <<"EOF" export LANG=en_US.UTF-8 export PS1="[\u@\h \W]\$ " export PGPORT=5432 export PGDATA=/postgresql/pgdata export PGHOME=/postgresql/pg16 export LD_LIBRARY_PATH=$PGHOME/lib:/lib64:/usr/lib64:/usr/local/lib64:/lib:/usr/lib:/usr/local/lib:$LD_LIBRARY_PATH export PATH=$PGHOME/bin:$PATH:. export DATE=`date +"%Y%m%d%H%M"` export MANPATH=$PGHOME/share/man:$MANPATH export PGHOST=$PGDATA export PGUSER=postgres export PGDATABASE=postgres alias psql='rlwrap psql' EOF [pgsql@centos79 ~]$ source ~/.bash_profile
✨2.6 初始化安装
/postgresql/pg16/bin/pg_ctl -D /postgresql/pgdata -l logfile start
📣3.PG16启动使用
[pgsql@centos79 ~]$ cd /postgresql/pgdata/pg_log [pgsql@centos79 pg_log]$ ll total 4 -rw-------. 1 pgsql pgsql 618 Sep 25 08:28 postgresql-Mon.log [pgsql@centos79 pg_log]$ more postgresql-Mon.log 2023-09-25 08:28:45.167 CST [14533] LOG: starting PostgreSQL 16.0 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 (Red Hat 4.8.5-44), 64-bit 2023-09-25 08:28:45.168 CST [14533] LOG: listening on IPv4 address "0.0.0.0", port 5432 2023-09-25 08:28:45.169 CST [14533] LOG: listening on IPv6 address "::", port 5432 2023-09-25 08:28:45.170 CST [14533] LOG: listening on Unix socket "/postgresql/pgdata/.s.PGSQL.5432" 2023-09-25 08:28:45.173 CST [14537] LOG: database system was shut down at 2023-09-25 08:25:07 CST 2023-09-25 08:28:45.175 CST [14533] LOG: database system is ready to accept connections
[pgsql@centos79 ~]$ psql psql (16.0) Type "help" for help. postgres=# \l List of databases Name | Owner | Encoding | Locale Provider | Collate | Ctype | ICU Locale | ICU Rules | Access privileges -----------+----------+----------+-----------------+------------+------------+------------+-----------+----------------------- postgres | postgres | UTF8 | libc | en_US.utf8 | en_US.utf8 | | | template0 | postgres | UTF8 | libc | en_US.utf8 | en_US.utf8 | | | =c/postgres + | | | | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | libc | en_US.utf8 | en_US.utf8 | | | =c/postgres + | | | | | | | | postgres=CTc/postgres (3 rows)
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/121244.html







