一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

Linux怎么安装PostgreSQL 15 详解Linux数据库安装与初始化

时间:2026-06-12 08:00:47 编辑:袖梨 来源:一聚教程网

最稳妥方式是用YUM安装PostgreSQL 15官方仓库包:先添加pgdg源,禁用系统冲突模块,再安装postgresql15-server,手动执行initdb初始化,最后启动服务并验证状态。

直接用系统包管理器装 postgresql15-server 是最稳妥的选择,除非你明确需要定制编译选项(比如启用 llvmjit)或部署非仓库版本。源码编译看似灵活,但容易卡在依赖、路径、权限、systemd 配置这四关。

用 YUM 安装 PostgreSQL 15(CentOS/RHEL/RockyLinux)

官方仓库比系统自带的更及时,也避免了版本混杂。关键不是“能不能装”,而是“装完能不能立刻 initdb”。常见失败点是没禁用系统自带模块或漏掉初始化步骤。

  • 先装官方 YUM 源:sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-$(rpm -E %rhel)-x86_64/pgdg-redhat-repo-latest.noarch.rpm
  • 禁用冲突模块(尤其 RHEL 9+):sudo dnf module reset postgresql && sudo dnf module enable postgresql:15
  • 安装服务端:sudo dnf install -y postgresql15-server(注意不是 postgresql-server
  • 初始化集群:sudo /usr/pgsql-15/bin/postgresql-15-setup initdb —— 这步必须手动执行,不运行就不会生成 /var/lib/pgsql/15/data
  • 启动服务:sudo systemctl start postgresql-15,检查状态:sudo systemctl status postgresql-15

源码编译安装 PostgreSQL 15 的关键陷阱

不是所有“编译成功”都等于“能用”。最常踩的坑是 initdb 报错 could not identify a default data directorypermission denied,根源几乎都在用户、目录、PATH 三者没对齐。

  • 编译前确保装全依赖:readline-develzlib-developenssl-devellibxml2-devel 缺一不可;perl-ExtUtils-Embed 影响 PL/Perl 支持
  • ./configure --prefix=/usr/local/pgsql15 后,必须用对应路径下的 initdb,比如:/usr/local/pgsql15/bin/initdb -D /var/lib/pgsql/15/data
  • 数据目录必须由 postgres 用户拥有:sudo chown -R postgres:postgres /var/lib/pgsql/15/data
  • systemd 服务文件里 ExecStart 必须显式指定 -D ${PGDATA},不能只写 pg_ctl start,否则它会去默认路径找

初始化后连不上 psql?检查这三处

装完启动了,但切到 postgres 用户执行 psql 提示 command not found 或 peer 认证失败,问题不在数据库本身,而在环境和配置。

  • PATH 没生效:确认 /usr/pgsql-15/bin(或你自定义的 bin 路径)已加入 /etc/profile 并执行了 source /etc/profile
  • 没切换对用户:sudo -u postgres psql 才是正确姿势,直接 su postgrespsql 可能因 shell 环境变量缺失而失败
  • pg_hba.conf 默认只允许本地 peer 认证,首次登录不要加 -h 127.0.0.1,否则会走 md5 流程而你还没设密码;先用 sudo -u postgres psql -U postgres 进去再 ALTER USER postgres PASSWORD 'xxx';

真正麻烦的从来不是“怎么装”,而是装完发现 initdb 没跑、pg_ctl 找不到、psql 报 peer 拒绝——这些都不是 PostgreSQL 的 bug,是路径、用户、权限、配置项之间没咬合上。每一步执行后,花 10 秒验证输出是否符合预期,比重装三次都快。

热门栏目