Linux 上安装 PostgreSQL(一文讲透)
💡一则或许对你有用的小广告
欢迎加入小哈的星球 ,你将获得:专属的项目实战 / 1v1 提问 / Java 学习路线 / 学习打卡 / 每月赠书 / 社群讨论
- 新项目:《从零手撸:仿小红书(微服务架构)》 正在持续爆肝中,基于
Spring Cloud Alibaba + Spring Boot 3.x + JDK 17...
,点击查看项目介绍 ;演示链接: http://116.62.199.48:7070 ;- 《从零手撸:前后端分离博客项目(全栈开发)》 2 期已完结,演示链接: http://116.62.199.48/ ;
截止目前, 星球 内专栏累计输出 90w+ 字,讲解图 3441+ 张,还在持续爆肝中.. 后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,权限管理,Spring Cloud Alibaba 微服务等等,已有 3100+ 小伙伴加入学习 ,欢迎点击围观
前言
在当今数字化时代,数据库管理系统(DBMS)是构建应用程序的核心组件。PostgreSQL,作为一款开源、高性能的关系型数据库,凭借其对复杂查询的支持、严格的ACID特性以及丰富的扩展功能,成为开发者和企业的首选工具之一。对于许多开发者而言,掌握如何在Linux系统上安装和配置PostgreSQL,是迈向高效数据库管理的重要一步。本文将从零开始,以通俗易懂的方式,逐步讲解如何在Linux环境下完成PostgreSQL的安装与基础配置,并通过实际案例帮助读者巩固操作流程。
安装前的准备工作
确认Linux发行版
PostgreSQL的安装流程因Linux发行版而异。常见的系统包括Ubuntu/Debian系列、CentOS/RHEL系列、Arch Linux等。你可以通过以下命令确认当前系统版本:
lsb_release -a # Ubuntu/Debian
cat /etc/redhat-release # CentOS/RHEL
uname -a # 查看内核版本
更新系统仓库
安装前建议更新系统软件包仓库,确保获取到最新的依赖和版本信息:
sudo apt-get update # Debian/Ubuntu
sudo dnf check-update # CentOS 8+/RHEL 8+
sudo pacman -Syu # Arch Linux
比喻:这一步就像给汽车更换机油,确保系统运行时有“干净”的环境。
安装PostgreSQL的步骤详解
在Ubuntu/Debian系统上安装
- 添加PostgreSQL官方仓库(可选但推荐):
默认仓库可能包含旧版本,添加官方仓库可获取最新版本。例如,安装PostgreSQL 15:echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list wget -qO- https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - sudo apt-get update
- 安装核心组件:
sudo apt-get install postgresql-15 postgresql-contrib-15
- 验证安装:
检查服务状态:systemctl status postgresql.service
在CentOS/RHEL系统上安装
- 安装依赖包:
sudo dnf install epel-release sudo dnf install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
- 安装PostgreSQL:
sudo dnf install postgresql15-server postgresql15-contrib
- 初始化数据库集群:
sudo /usr/pgsql-15/bin/postgresql-15-setup initdb
- 启动并启用服务:
sudo systemctl enable --now postgresql-15.service
在Arch Linux上安装
Arch Linux的用户可以直接通过官方仓库安装:
sudo pacman -S postgresql
sudo systemctl enable --now postgresql
配置PostgreSQL的常用操作
切换到默认用户并修改密码
安装完成后,PostgreSQL会自动生成一个名为postgres
的默认用户。切换到该用户并设置密码:
sudo -i -u postgres
psql -c "ALTER USER postgres WITH PASSWORD 'your_secure_password';"
注意:直接使用默认密码存在安全隐患,务必及时修改。
配置远程访问(可选)
默认情况下,PostgreSQL仅允许本地连接。若需远程访问,需编辑配置文件pg_hba.conf
,将以下行:
local all all peer
修改为允许IP段访问:
host all all 0.0.0.0/0 md5
同时修改postgresql.conf
中的listen_addresses
参数:
listen_addresses = '*'
比喻:这一步就像打开家门的锁,允许特定访客进入,但需注意安全设置。
验证安装与基础操作案例
启动PostgreSQL客户端
psql -U postgres -h localhost
输入密码后,进入交互式命令行界面(psql)。
创建数据库与用户
-- 创建新用户
CREATE USER myuser WITH ENCRYPTED PASSWORD 'user_password';
-- 创建数据库并授权
CREATE DATABASE mydb OWNER myuser;
连接新数据库
psql -U myuser -d mydb -h localhost -W
输入密码后,即可开始执行SQL语句:
CREATE TABLE employees (id SERIAL PRIMARY KEY, name TEXT NOT NULL);
INSERT INTO employees (name) VALUES ('张三'), ('李四');
SELECT * FROM employees;
常见问题与解决方案
以下表格列举了安装和配置中可能遇到的典型问题及解决方法:
问题描述 | 可能原因 | 解决方法 |
---|---|---|
安装时提示依赖缺失 | 系统仓库未更新或缺少基础依赖 | 运行 sudo apt-get update 或安装 libssl-dev 等依赖包。 |
服务无法启动 | 配置文件语法错误或端口被占用 | 检查 postgresql.conf 中的端口(默认5432),使用 netstat -tlnp 查看端口占用。 |
连接时提示peer authentication | pg_hba.conf 中配置为peer 认证方式 | 修改 pg_hba.conf 中对应行的peer 为md5 ,并重启服务。 |
结论
通过本文的分步指南,读者应能掌握在Linux系统上安装和配置PostgreSQL的核心步骤。PostgreSQL凭借其强大的功能和灵活性,能够满足从中小型项目到复杂企业级应用的需求。建议读者在完成基础安装后,进一步探索数据库优化、备份策略及与编程语言(如Python、Go)的集成方法。
安装PostgreSQL仅仅是开始,后续的性能调优、安全加固以及与应用程序的深度整合,将决定数据库能否真正成为项目高效运行的基石。希望本文能为你的数据库之旅提供一个坚实的起点!