PostgreSQL 15安装教程 Linux系统数据库配置与初始化指南
在Linux上部署PostgreSQL 15,最稳妥的路径是什么?答案很明确:直接使用官方仓库的YUM包安装。除非你对编译选项有特殊需求,否则源码编译带来的灵活性,往往抵不过它在依赖、路径和权限配置上给你挖的坑。

用 YUM 安装 PostgreSQL 15(CentOS/RHEL/RockyLinux)
选择官方仓库,图的就是一个省心和版本纯净。安装本身不难,真正的关键点在于:装完之后,你得确保能立刻执行初始化。很多朋友卡住,要么是没处理好系统自带模块的冲突,要么就是漏掉了手动初始化的步骤。
- 添加官方源:
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 - 安装服务端:注意包名是
postgresql15-server,别装成旧的postgresql-server:sudo dnf install -y postgresql15-server - 手动初始化:这是核心步骤,不执行就不会生成数据目录:
sudo /usr/pgsql-15/bin/postgresql-15-setup initdb - 启动与验证:
sudo systemctl start postgresql-15,然后用sudo systemctl status postgresql-15确认服务状态。
源码编译安装 PostgreSQL 15 的关键陷阱
编译成功,不等于就能用。最常见的“拦路虎”是初始化时提示could not identify a default data directory或permission denied。问题根源,几乎都出在用户、目录路径和环境变量没对齐。
- 依赖要装全:
readline-devel、zlib-devel、openssl-devel、libxml2-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?检查这三处
服务起来了,但用psql连接时报错“command not found”或认证失败?别急,问题通常不在数据库本身,而在环境和配置细节。
- 环境变量是否生效:确认PostgreSQL的bin目录(如
/usr/pgsql-15/bin)已添加到系统的PATH环境变量中(例如在/etc/profile中配置),并执行source /etc/profile使其生效。 - 用户切换姿势要对:最稳妥的连接方式是
sudo -u postgres psql。如果直接用su postgres切换用户再执行psql,可能会因为shell环境变量缺失而失败。 - 认证方式别搞混:默认的
pg_hba.conf只允许本地通过peer认证(系统用户映射)。首次登录时,不要指定-h 127.0.0.1,否则会走密码(md5)认证流程,而你还没设置密码。正确的做法是先用sudo -u postgres psql -U postgres连接进去,再执行ALTER USER postgres PASSWORD 'xxx';设置密码。
说到底,安装PostgreSQL真正的挑战,往往不是安装命令本身,而是安装后那一连串的“小状况”:initdb没执行、pg_ctl找不到、psql被拒绝。这些大多不是软件的bug,而是路径、用户、权限和配置项之间没有严丝合缝地对接好。经验之谈是:每一步操作后,花上十秒钟验证一下输出是否符合预期,这比事后重装三遍都要高效得多。
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
Windows 11显卡频率过高蓝屏解决方法 降低核心频率稳定教程
运行大型3D游戏或图形密集型应用时,Windows 11系统若频繁出现蓝屏死机,并伴有显卡温度急剧升高或风扇转速异常,这通常并非操作系统本身存在缺陷。系统提示的错误代码,如VIDEO_TDR_FAILURE或WHEA_UNCORRECTABLE_ERROR,往往揭示了问题的核心:您显卡的出厂预设频率
Windows 11开启Sudo命令开发者权限详细教程
需升级至Windows 11 24H2(Build 26100+),再通过设置→系统→开发者选项开启“启用Sudo”,并用sudo config --enable normal等命令配置运行模式,最后以普通用户执行sudo whoami验证提权是否生效。 在Windows 11的命令行中输入“sud
Windows蓝屏代码0x000000c2修复指南 内核程序池故障解决方法
当Windows系统遭遇蓝屏,屏幕上显示“0x000000c2 (BAD_POOL_CALLER)”错误代码时,通常意味着系统内核或驱动程序在管理内存池时执行了非法操作。此故障可能由多种因素引发,包括内存硬件故障、驱动程序冲突、系统文件损坏或某些内核级软件的不兼容行为。本文将提供一套从易到难、从硬件
Win11查看已保存WiFi密码的详细步骤与实用技巧
忘记Wi-Fi密码是许多用户都可能遇到的常见问题。无论是为新设备配置网络,还是有访客需要连接,临时想不起密码确实令人困扰。无需立即重置路由器,Windows 11系统内已内置了多种安全可靠的解决方案,可帮助您找回所有已保存的无线网络密钥。本文将详细介绍五种实用方法,涵盖图形界面操作与命令行工具,从查
Win11任务栏无法自动隐藏的解决方法与后台程序排查指南
全屏观看视频、沉浸式游戏或专注办公时,任务栏始终悬浮在屏幕底部无法自动隐藏,确实影响体验。如果你已在系统设置中开启了“自动隐藏任务栏”功能但问题依旧,这通常意味着有后台程序正在干扰Windows资源管理器的正常全屏检测机制。这些程序可能通过注入钩子或调整窗口层级,阻止了任务栏的自动隐藏。别着急,我们
- 日榜
- 周榜
- 月榜
1
2
3
4
5
6
7
8
9
10
相关攻略
2015-03-10 11:25
2015-03-10 11:05
2021-08-04 13:30
2015-03-10 11:22
2015-03-10 12:39
2022-05-16 18:57
2025-05-23 13:43
2025-05-23 14:01
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程
热门话题

