在 Ubuntu 24.04 上安装 PostgreSQL 17
概述
PostgreSQL 17 是流行的开源关系数据库的最新主要版本。它带来了许多新功能和改进,例如增强的监控功能、更高的性能、增强的逻辑复制、额外的服务器配置以及安全性改进。
在本教程中,我们将介绍如何在 Ubuntu 22.04 上安装 PostgreSQL 17,我们还将介绍一些基本配置,以允许远程连接、启用密码验证以及开始创建用户、数据库等。
先决条件
Ubuntu 24.04
Root 权限或 sudo 访问权限
用于sudo su
进入 root 而不是 ubuntu(默认用户)
第1步 - 添加PostgreSQL存储库
首先,更新包索引并安装所需的包:
sudo apt update
添加 PostgreSQL 17 存储库:
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
导入存储库签名密钥:
curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg
更新软件包列表:
sudo apt update
第 2 步 - 安装 PostgreSQL 17
安装 PostgreSQL 17 和 contrib 模块:
sudo apt install postgresql-17
启动并启用 PostgreSQL 服务:
sudo systemctl start postgresql
sudo systemctl enable postgresql
检查版本并确保它是 Postgresql 17:psql --version
你应该得到类似
psql(PostgreSQL)17.0(Ubuntu 17.0-1.pgdg24.04+1)
第 3 步 - 配置 PostgreSQL 17
编辑 postgresql.conf 以通过将 listen_addresses 更改为 * 来允许远程连接:
sudo nano /etc/postgresql/17/main/postgresql.conf
listen_addresses = '*'
通过编辑 pg_hba.conf 将 PostgreSQL 配置为使用 md5 密码验证,如果您希望通过PGADMIN等进行远程连接,这一点很重要:
sudo sed -i '/^host/s/ident/md5/' /etc/postgresql/17/main/pg_hba.conf
sudo sed -i '/^local/s/peer/trust/' /etc/postgresql/17/main/pg_hba.conf
echo "host all all 0.0.0.0/0 md5" | sudo tee -a /etc/postgresql/17/main/pg_hba.conf
重新启动 PostgreSQL 以使更改生效:
sudo systemctl restart postgresql
允许 PostgreSQL 端口通过防火墙:
sudo ufw allow 5432/tcp
第 4 步 - 连接到 PostgreSQL
以 postgres 用户身份连接:
sudo -u postgres psql
为 postgres 用户设置密码:
ALTER USER postgres PASSWORD 'VeryStronGPassWord@1137';
结论:
我们已经在 Ubuntu 上成功安装了 PostgreSQL 17,并执行了一些基本配置,例如启用远程连接、设置密码验证、创建数据库和用户。PostgreSQL 现在可以用于开发或生产工作负载了。
PostgreSQL 17 有显著的改进,强烈建议升级。
- 真空内存优化:内存消耗减少高达 20 倍
- 写入吞吐量:高并发工作负载最高可提高 2 倍
- 查询性能:使用 B 树索引改进了 IN 子句
- JSON 支持:添加了 JSON_TABLE、JSON 构造函数和查询函数
- COPY 命令:导出大行时速度最高可提高 2 倍
- 逻辑复制:主要版本升级期间无需删除插槽
- 备份:pg_basebackup 中的新增量备份支持
- 监控:增加了索引清理的进度报告
- I/O 改进:新的流式 I/O 接口,可实现更快的顺序扫描
- MERGE 增强功能:添加了 RETURNING 子句和更新视图的能力