Linux 上安装 PostgreSQL(一文讲透)

更新时间:

💡一则或许对你有用的小广告

欢迎加入小哈的星球 ,你将获得:专属的项目实战 / 1v1 提问 / Java 学习路线 / 学习打卡 / 每月赠书 / 社群讨论

截止目前, 星球 内专栏累计输出 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系统上安装

  1. 添加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  
    
  2. 安装核心组件
    sudo apt-get install postgresql-15 postgresql-contrib-15  
    
  3. 验证安装
    检查服务状态:
    systemctl status postgresql.service  
    

在CentOS/RHEL系统上安装

  1. 安装依赖包
    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  
    
  2. 安装PostgreSQL
    sudo dnf install postgresql15-server postgresql15-contrib  
    
  3. 初始化数据库集群
    sudo /usr/pgsql-15/bin/postgresql-15-setup initdb  
    
  4. 启动并启用服务
    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 authenticationpg_hba.conf中配置为peer认证方式修改 pg_hba.conf 中对应行的peermd5,并重启服务。

结论

通过本文的分步指南,读者应能掌握在Linux系统上安装和配置PostgreSQL的核心步骤。PostgreSQL凭借其强大的功能和灵活性,能够满足从中小型项目到复杂企业级应用的需求。建议读者在完成基础安装后,进一步探索数据库优化、备份策略及与编程语言(如Python、Go)的集成方法。

安装PostgreSQL仅仅是开始,后续的性能调优、安全加固以及与应用程序的深度整合,将决定数据库能否真正成为项目高效运行的基石。希望本文能为你的数据库之旅提供一个坚实的起点!

最新发布