Linux如何安装PostgreSQL_Linux部署关系型数据库【干货】-LINUX

PostgreSQL在Linux各发行版安装差异大:Ubuntu/Debian用apt自动启服务,数据目录为/var/lib/postgresql//main;RHEL系需dnf启用模块并手动initdb,数据目录为/var/lib/pgsql//data;启动失败优先查journalctl日志、目录权限及postmaster.pid残留;首次登录须sudo -u postgres psql设密码并修改pg_hba.conf后reload。

PostgreSQL 在主流 Linux 发行版上安装非常直接,但不同发行版的包名、服务名、数据目录和默认用户权限差异较大——不注意这些细节,容易卡在启动失败、连接拒绝或权限拒绝上。

Ubuntu/Debian 上用 apt 安装 PostgreSQL

Ubuntu 20.04+ 和 Debian 11+ 默认源里已包含较新版本(如 PostgreSQL 14/15),无需手动加仓库:

  • 运行 sudo apt update && sudo apt install postgresql postgresql-contrib
  • 安装后服务自动启用并启动,主进程由 systemd 管理,服务名为 postgresql
  • 默认创建系统用户 postgres,数据库超级用户也叫 postgres,但无密码,仅允许 peer 或 ident 认证(即本地 Unix socket 登录需匹配系统用户名)
  • 数据目录通常是 /var/lib/postgresql/*/main(* 为版本号),配置文件在 /etc/postgresql/*/main/ 下

CentOS/RHEL/Rocky 9+ 使用 dnf 安装

RHEL 系发行版从 9 开始默认使用 PostgreSQL 13+,但需启用 postgresql:releases 模块(旧版如 CentOS 7 需启用 pgdg 仓库):

  • Rocky 9 / RHEL 9:运行 sudo dnf module enable postgresql:15(或 :16),再执行 sudo dnf install postgresql-server postgresql-contrib
  • 初始化数据库簇:必须显式运行 sudo postgresql-setup --initdb,否则 systemctl start postgresql 会失败并报错 data directory has wrong ownership
  • 服务名是 postgresql,但实际 unit 文件可能带版本后缀(如 postgresql-15),建议用 systemctl list-units | grep postgres 确认
  • 默认监听地址为 localhost,且 pg_hba.conf 中对 local 连接默认使用 peer,远程 host 条目默认被注释

启动失败常见原因与快速排查

执行 sudo systemctl start postgresql 后状态为 failed,别急着重装,先看三处:

夏夕资源网专注于CMS网站模板,主流语言整站网站源码下载,网站建设相关教程分享,好用的软件素材整合下载,提供一站式便捷自助服务。
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"zy.lucklyus.top",如遇到无法解压的请联系管理员!
夏夕资源网-网站模板_免费源码_资源素材 » Linux如何安装PostgreSQL_Linux部署关系型数据库【干货】-LINUX
在线时间:12:00 - 22:00
关注微信公众号:微信公众号
站长邮箱:[email protected]
  • 运营天数: 1393+
  • 资源总数: 47989+
  • 用户总数: 1+
  • 今日更新: 0+
  • 访问次数: 4014726+
  • 本周更新: 0+
  • 最后更新: 2026-03-16

本站指数

×
  • 运营天数: 1393+
  • 资源总数: 47989+
  • 用户总数: 1+
  • 今日更新: 0+
  • 访问次数: 4014726+
  • 本周更新: 0+
  • 最后更新: 2026-03-16