PostgreSQL 16 发布,更可靠更稳健

news2024/12/23 23:25:16

📢📢📢📣📣📣
哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA及大数据工作经验
一位上进心十足的【大数据领域博主】!😜😜😜
中国DBA联盟(ACDU)成员,目前服务于工业互联网
擅长主流Oracle、MySQL、PG、高斯及Greenplum运维开发,备份恢复,安装迁移,性能优化、故障应急处理等。
✨ 如果有对【数据库】感兴趣的【小可爱】,欢迎关注【IT邦德】💞💞💞
❤️❤️❤️感谢各位大可爱小可爱!❤️❤️❤️

文章目录

  • 前言
    • 📣1 .新版本概述
      • ✨ 1.1 性能改进
      • ✨ 1.2 逻辑复制
      • ✨ 1.3 开发者经验
      • ✨1.4 监控
      • ✨1.5 访问控制和安全
    • 📣2 .PG16部署
      • ✨2.1 安装包下载
      • ✨2.2 创建用户
      • ✨2.3 创建目录
      • ✨2.4 编译
      • ✨2.5 配置环境变量
      • ✨2.6 初始化安装
    • 📣3.PG16启动使用

前言

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 安装包下载

官网下载安装包,本次使用源码安装的方式
https://www.postgresql.org/ftp/source/v16.0/

在这里插入图片描述

✨2.2 创建用户

groupadd -g 60000 pgsql
useradd -u 60000 -g pgsql pgsql
echo “beijing” | passwd --stdin pgsql

在这里插入图片描述

✨2.3 创建目录

mkdir /soft
mkdir -p /postgresql/{pgdata,archive,scripts,backup,pg16,soft}
chown -R pgsql:pgsql /postgresql
chown -R pgsql:pgsql /soft
chmod -R 775 /postgresql

在这里插入图片描述

✨2.4 编译

[root@centos79 ~]# cp /opt/postgresql-16.0.tar.gz /soft
[root@centos79 ~]# chown -R pgsql:pgsql /soft
[root@centos79 ~]# cp /opt/postgresql-16.0.tar.gz /postgresql/soft/
[root@centos79 ~]# su - pgsql
Last login: Mon Sep 25 08:04:41 CST 2023 on pts/0
[pgsql@centos79 ~]$ cd /postgresql/soft/
[pgsql@centos79 soft]$ ll
total 31528
-rw-r–r–. 1 pgsql pgsql 32283370 Sep 25 08:04 postgresql-16.0.tar.gz
[pgsql@centos79 soft]$ tar zxvf postgresql-16.0.tar.gz

[pgsql@centos79 soft]$ cd postgresql-16.0/
[pgsql@centos79 postgresql-16.0]$ ll
total 876
-rw-r–r–. 1 pgsql pgsql 365 Sep 12 04:25 aclocal.m4
drwxrwxr-x. 2 pgsql pgsql 4096 Sep 12 04:28 config
-rwxr-xr-x. 1 pgsql pgsql 584200 Sep 12 04:25 configure
-rw-r–r–. 1 pgsql pgsql 87156 Sep 12 04:25 configure.ac
drwxrwxr-x. 61 pgsql pgsql 4096 Sep 12 04:28 contrib
-rw-r–r–. 1 pgsql pgsql 1192 Sep 12 04:25 COPYRIGHT
drwxrwxr-x. 3 pgsql pgsql 4096 Sep 12 04:28 doc
-rw-r–r–. 1 pgsql pgsql 4288 Sep 12 04:25 GNUmakefile.in
-rw-r–r–. 1 pgsql pgsql 277 Sep 12 04:25 HISTORY
-rw-r–r–. 1 pgsql pgsql 64592 Sep 12 04:29 INSTALL
-rw-r–r–. 1 pgsql pgsql 1875 Sep 12 04:25 Makefile
-rw-r–r–. 1 pgsql pgsql 101920 Sep 12 04:28 meson.build
-rw-r–r–. 1 pgsql pgsql 6266 Sep 12 04:25 meson_options.txt
-rw-r–r–. 1 pgsql pgsql 1213 Sep 12 04:25 README
drwxrwxr-x. 16 pgsql pgsql 4096 Sep 12 04:29 src

yum install gcc
yum install zlib-devel
./configure --prefix=/postgresql/pg16 --without-readline

在这里插入图片描述
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 初始化安装

su - pgsql
/postgresql/pg16/bin/initdb -D /postgresql/pgdata -E UTF8 --locale=en_US.utf8 -U postgres

在这里插入图片描述
/postgresql/pg16/bin/pg_ctl -D /postgresql/pgdata -l logfile start

📣3.PG16启动使用

[root@centos79 /]# su - pgsql
[pgsql@centos79 ~]$ pg_ctl start
[pgsql@centos79 ~]$ pg_ctl status
[pgsql@centos79 ~]$ pg_ctl stop
[pgsql@centos79 ~]$ netstat -anp | grep 5432

在这里插入图片描述

[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 20150623 (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)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1036424.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【LeetCode-简单题】513. 找树左下角的值

文章目录 题目方法一&#xff1a;DFS递归 前序遍历方法二&#xff1a;BFS层序双队列 题目 方法一&#xff1a;DFS递归 前序遍历 递归三部曲 确定递归函数参数和返回值确定递归结束条件编写常规递归体 本题只会在叶子结点才会去统计结果 也就是 root.leftnull&&root.r…

Flink DataStream API

DataStream API是Flink的核心层API。一个Flink程序&#xff0c;其实就是对DataStream的各种转换。具体来说&#xff0c;代码基本上都由以下几部分构成&#xff1a; package com.atguigu.env;import org.apache.flink.api.common.JobExecutionResult; import org.apache.flink.a…

AIGC百模大战

AIGC Artificial Intelligence Generated Content&#xff0c; 或者Generative Artificial Intelligence&#xff0c;它能够生成新的数据、图像、语音、视频、音乐等内容&#xff0c;从而扩展人工智能系统的应用范围。 生成式人工智能有可能给全球经济带来彻底的变化。根据高盛…

在树莓派上实现numpy的conv2d卷积神经网络做图像分类,加载pytorch的模型参数,推理mnist手写数字识别,并使用多进程加速

这几天又在玩树莓派,先是搞了个物联网,又在尝试在树莓派上搞一些简单的神经网络,这次搞得是卷积识别mnist手写数字识别 训练代码在电脑上,cpu就能训练,很快的: import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, tra…

spring-cloud-stream版本升级,告别旧注解@EnableBinding,拥抱函数式编程

spring-cloud-stream中&#xff0c;EnableBinding从3.1开始就被弃用&#xff0c;取而代之的是函数式编程模型 同期被废弃的注解还有下面这些注解 Input Output EnableBinding StreamListener 官方例子&#xff1a;GitHub - spring-cloud/spring-cloud-stream-samples: Sample…

电视访问群晖共享文件失败的设置方式,降低协议版本

控制面板-文件服务-SMB-高级设置&#xff0c;常规及其他里面配置即可。

微信公众号小说系统源码 漫画系统源码 可对接微信公众号 APP打包 对接个人微信收款

源码描述&#xff1a;修复版掌上阅读小说源码_公众号漫画源码可以打包漫画app ■产品介绍 掌上阅读小说源码支持公众号、代理分站支付功能完善强大的小说源码&#xff0c;公众号乙帅读者&#xff0c; 可以对接微信公众号、APP打包。支持对接个人微信收款。 ■产品优势 1新增…

免费好用的Mac电脑磁盘清理工具CleanMyMac

许多刚从Windows系统转向Mac系统怀抱的用户&#xff0c;一开始难免不习惯&#xff0c;因为Mac系统没有像Windows一样的C盘、D盘&#xff0c;分盘分区明显。因此这也带来了一些问题&#xff0c;关于Mac的磁盘的清理问题&#xff0c;怎么进行清理&#xff1f;怎么确保清理的干净&…

3+氧化应激+分型+预后模型

今天给同学们分享一篇3氧化应激分型预后模型的生信文章“An oxidative stress-related signature for predicting the prognosis of liver cancer”&#xff0c;这篇文章于2023年月4日发表在Front Genet 期刊上&#xff0c;影响因子为3.7。 越来越多的证据表明&#xff0c;肿瘤…

【MySQL数据库事务操作、主从复制及Redis数据库读写分离、主从同步的实现机制】

文章目录 MySQL数据库事务操作、主从复制及Redis数据库读写分离、主从同步的实现机制ACID及如何实现事务隔离级别&#xff1a;MVCC 多版本并发控制MySQL数据库主从复制主从同步延迟怎么处理Redis 读写分离1.什么是主从复制2.读写分离的优点 Redis为什么快呢&#xff1f; MySQL数…

【完美世界】天仙书院偷食也就算了,竟然还偷院长的孙女,美滋滋

Hello,小伙伴们&#xff0c;我是小郑继续为大家深度解析完美世界系列。 齐道临从天仙书院劫走石昊&#xff0c;为何天仙书院不仅没去找他麻烦&#xff0c;反而给他一块随意进入渡劫神莲池的令牌&#xff1f;石昊来到上界也是闹出不小的动静&#xff0c;先是在恶魔岛的神碑留名&…

C语言数组和指针笔试题(四)(一定要看)

目录 二维数组例题一例题二例题三例题四例题五例题六例题七例题八例题九例题十例题十一 结果 感谢各位大佬对我的支持,如果我的文章对你有用,欢迎点击以下链接 &#x1f412;&#x1f412;&#x1f412;个人主页 &#x1f978;&#x1f978;&#x1f978;C语言 &#x1f43f;️…

算法通关村第16关【青铜】| 滑动窗口思想

1. 滑动窗口的基本思想 一句话概括就是两个快慢指针维护的一个会移动的区间 固定大小窗口&#xff1a;求哪个窗口元素最大、最小、平均值、和最大、和最小 可变大小窗口&#xff1a;求一个序列里最大、最小窗口是什么 2. 两个入门题 &#xff08;1&#xff09;子数组最大平…

#倍增 #国旗计划

文章目录 题目&#xff1a;题解代码 题目&#xff1a; 国旗计划 题解 三个技巧&#xff1a; 断环成链&#xff1a; 具体而言就是&#xff1a; if(w[i].R < w[i].L) w[i].R m; m是环的长度&#xff1b; 贪心&#xff1a; 选择一个区间i后&#xff0c;下一个区间只能从左端…

(c++)类和对象中篇

目录 1. 类的6个默认成员函数 2. 构造函数 3. 析构函数 4. 拷贝构造函数 5. 赋值运算符重载 6. const成员函数 7. 取地址及const取地址操作符重载 1. 类的 6 个默认成员函数 如果一个类中什么成员都没有&#xff0c;简称为空类。 空类中真的什么都没有吗&#xff1f;并…

线性绘制在NSDT 3D场布中的应用

什么是线性摆放&#xff1f; 线性摆放是指将一系列对象按照直线或者曲线进行排列&#xff0c;形成一条线或者弧线状的布局方式。在3D场布中&#xff0c;线性摆放可以应用于多个领域和场景&#xff0c;如展览设计、景观规划、商业空间布置等。 线性绘制在3D场布中的应用 展览设…

Postman全局配置变量token

Postman全局配置变量token 这里主要是介绍在 Postman 中全局配置token&#xff0c;以及方便以后查阅&#xff01;&#xff01;&#xff01; 一、简介 用户在开发或调试网络程序和网页B/S模式的程序时需要一些方法来跟踪网页请求&#xff0c;可使用一些网络的监视工具如Firebu…

多线程详解(下)

文章目录 常见锁策略乐观锁 vs 悲观锁重量级锁 vs 轻量级锁自旋锁 vs 挂起等待锁读写锁可重入锁 vs 不可重入锁公平锁 vs 非公平锁面试相关题 CAS什么是CASCAS 是怎么实现的CAS 有哪些应用1)实现原子类2)实现自旋锁 CAS的ABA问提什么是ABA问提ABA问提引来的BUG解决方法 相关面试…

基于LLMs构建产业多智能体

前言 随着信息技术的发展以及产业数字化的发展&#xff0c;在产业端&#xff0c;信息系统的建设和应用场景的搭建日渐完善&#xff0c;如何从完备的业务系统中挖掘数据价值以及如何从业务互联走向数据驱动决策成为产业数字化的新发展阶段。目前主要由数据中台承担数据汇聚、数…

Kettle安装初始化问题

1、Kettle启动闪退: 原因&#xff1a;自己的JDK是16 8.0的Kettle适配JDK1.8 【Spoon.bat 双击后闪退】解决办法 - 知乎 2、KettleDB连接中文命名 Unexpected problem reading shared objects from XML file : null Error reading information from input stream Invalid …