Linux怎么安装PostgreSQL

胖宇姑娘_8841

胖宇姑娘_8841

2026-06-26

780人浏览

原创

linux部署postgresql远程访问需四步:加官方yum源、禁用系统自带模块、安装并初始化服务、配置postgresql.conf和pg_hba.conf及开放5432端口;缺一不可,否则远程连接失败。

linux怎么安装postgresql

直接装官方 YUM/APT 源的包,别碰系统自带的 postgresql(CentOS/RHEL 默认是 9.2,Ubuntu 18.04 是 10.6),版本太老、没维护、缺扩展、连 pg_dump 都可能不带。

用 YUM 安装(CentOS/RHEL/Rocky 7/8/9)

核心就四步:加源 → 装包 → 初始化 → 启服务。跳任何一步,systemctl start postgresql-16 都会失败或起不来。

  • 先加官方仓库(用阿里镜像更稳):sudo rpm -Uvh https://mirrors.aliyun.com/postgresql/repos/yum/reporpms/EL-$(rpm -E %{rhel})-x86_64/pgdg-redhat-repo-latest.noarch.rpm
  • 禁用系统自带模块防冲突:sudo dnf -qy module disable postgresql(RHEL 8+ 必做,否则 yum install 会报错)
  • 装服务端和工具:sudo yum install -y postgresql16-server postgresql16-contrib(版本号写死,避免装错)
  • 初始化数据目录:sudo /usr/pgsql-16/bin/postgresql-16-setup initdb(路径不对或权限不对,initdb 会静默失败)
  • 启用并启动:sudo systemctl enable postgresql-16 && sudo systemctl start postgresql-16

用 APT 安装(Ubuntu/Debian)

APT 方式省事,但默认不创建 postgres 用户密码,远程连不上;且 Ubuntu 22.04 自带的是 postgresql-14,想装 16 得手动加源。

Zynq Linux Hardware Debug
Zynq Linux Hardware Debug

Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。

下载
  • 更新索引:sudo apt-get update
  • 加官方源(否则只能装旧版):echo "deb https://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list,再导入 GPG 密钥:wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
  • 重更新:sudo apt-get update
  • 装 16:sudo apt-get install -y postgresql-16 postgresql-client-16 postgresql-contrib-16
  • 服务自动启,但 postgres 用户无密码,必须手动设:sudo -u postgres psql -c "ALTER USER postgres PASSWORD 'xxx';"

改完配置才能远程连

装完只是本地能用,远程访问卡在三个地方:监听地址、认证规则、防火墙。少一个,psql -h 192.168.x.x -U postgres 就报 connection refused 或 no pg_hba.conf entry。

  • listen_addresses 在 /var/lib/pgsql/16/data/postgresql.conf 里,默认是 'localhost',得改成 'localhost,192.168.1.100' 或临时测试用 '*'
  • pg_hba.conf 要追加一行:host all all 192.168.1.0/24 md5(注意位置:加在所有 local 规则之后,且不能被前面的 reject 拦住)
  • 改完必须 reload:sudo systemctl reload postgresql-16(不是 restart,避免中断现有连接)
  • 防火墙放行:sudo firewall-cmd --add-port=5432/tcp --permanent && sudo firewall-cmd --reload(Ubuntu 用 ufw allow 5432)

源码编译只在特定场景下值得做

除非你要静态链接 OpenSSL、指定非标准端口编译进二进制、或离线部署,否则源码编译纯属增加故障点。常见坑包括:configure 找不到 readline-devel 报错、make install 后忘了设 PGHOME 环境变量、initdb 时权限不是 postgres:postgres 导致 data 目录初始化失败。

  • 依赖要装全:sudo yum groupinstall "Development Tools" && sudo yum install -y perl-ExtUtils-Embed readline-devel zlib-devel pam-devel libxml2-devel libxslt-devel python3-devel gcc-c++ openssl-devel
  • 用户必须用 postgres(不能 root),data 目录 owner 必须是它:chown -R postgres:postgres /opt/pgsql/data
  • ./configure 时加 --prefix 明确路径,否则 make install 默认装到 /usr/local/pgsql,后续管理容易混乱

最容易被忽略的是 pg_hba.conf 的规则顺序和 reload 动作——很多人改了文件却没 reload,以为配置生效了;还有人把 host 规则加在了 local 规则前面,结果新规则根本没机会匹配。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux postgresql

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
postgresql常用命令
postgresql常用命令

postgresql常用命令psql、createdb、dropdb、createuser、dropuser、\l、\c、\dt、\d table_name、\du、\i file_name、\e和\q等。本专题为大家提供postgresql相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.10

213

5

常用的数据库软件
常用的数据库软件

常用的数据库软件有MySQL、Oracle、SQL Server、PostgreSQL、MongoDB、Redis、Cassandra、Hadoop、Spark和Amazon DynamoDB。更多关于数据库软件的内容详情请看本专题下面的文章。php中文网欢迎大家前来学习。

2023.11.02

4409

19

postgresql常用命令有哪些
postgresql常用命令有哪些

postgresql常用命令psql、createdb、dropdb、createuser、dropuser、\l、\c、\dt、\d table_name、\du、\i file_name、\e和\q等。更详细的postgresql常用命令,大家可以访问下面的文章。

2023.11.16

627

3

postgresql常用命令介绍
postgresql常用命令介绍

postgresql常用命令有\l、\d、\d5、\di、\ds、\dv、\df、\dn、\db、\dg、\dp、\c、\pset、show search_path、ALTER TABLE、INSERT INTO、UPDATE、DELETE FROM、SELECT等。想了解更多postgresql的相关内容,可以阅读本专题下面的文章。

2023.11.20

1376

6

PostgreSQL性能优化与索引调优实战
PostgreSQL性能优化与索引调优实战

本专题面向后端开发与数据库工程师,深入讲解 PostgreSQL 查询优化原理与索引机制。内容包括执行计划分析、常见索引类型对比、慢查询优化策略、事务隔离级别以及高并发场景下的性能调优技巧。通过实战案例解析,帮助开发者提升数据库响应速度与系统稳定性。

2026.02.12

460

19

PostgreSQL 性能优化与查询执行计划实战
PostgreSQL 性能优化与查询执行计划实战

本专题深入解析PostgreSQL性能优化核心,聚焦查询执行计划的实战应用。通过EXPLAIN命令精准定位瓶颈,结合索引策略、SQL改写与参数调优,系统提升查询效率。从执行计划解读到性能调优全流程,助你掌握数据库性能诊断与优化实战能力。

2026.05.08

150

10

PostgreSQL 在 Next.js / Go 全栈架构中的工程化实践
PostgreSQL 在 Next.js / Go 全栈架构中的工程化实践

本文详解如何利用Next.js(搭配Drizzle ORM)与Go后端构建高性能应用,充分发挥PG在JSONB非结构化存储与pgvector向量检索上的优势。从数据建模到Docker容器化部署,打造支持AI时代的“One Database”工程化解决方案。

2026.05.08

881

10

PostgreSQL高级特性、内核机制与现代数据架构
PostgreSQL高级特性、内核机制与现代数据架构

本专题从MVCC并发控制与WAL日志等内核机制出发,详解JSONB、PostGIS及pgvector等高级特性。探讨如何利用单一引擎支撑关系型、向量及图数据等现代数据架构需求,助您掌握构建高并发、智能化应用的核心技术。

2026.05.08

224

10

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

3990

4

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习