linux怎么安装postgresql_linux部署数据库【实战】

夏萱大大_7499

夏萱大大_7499

2026-03-17

765人浏览

原创

ubuntu/debian用apt装postgresql最稳,执行sudo apt install postgresql postgresql-contrib即可;centos/rhel 8+须用官方rpm源装新版;配置前先设密码、再改postgresql.conf和pg_hba.conf,且必须reload服务。

linux怎么安装postgresql_linux部署数据库【实战】

Ubuntu/Debian 上用 apt 安装 PostgreSQL 最稳

直接跑 sudo apt install postgresql postgresql-contrib 就能装好服务端 + 常用扩展。它默认会创建系统用户 postgres,并自动启停 postgresql 服务,不用手动初始化数据目录。

常见错误现象:psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed——多半是服务根本没起来,先执行 sudo systemctl status postgresql 看一眼状态,别急着改配置。

  • 安装后立即可用,sudo -u postgres psql 就能进默认数据库
  • postgresql-contrib 包含 pg_stat_statements、hstore 等实用扩展,不装后期要手动编译
  • Ubuntu 22.04+ 默认装的是 PostgreSQL 14;若需 15 或 16,得加官方源(见下一条)

CentOS/RHEL 8+ 必须用官方 RPM 源

系统自带的 postgresql-server 版本太老(RHEL 8 是 10.x),连 JSONB 都不全,生产环境别碰。必须换 PostgreSQL Global Development Group 的源。

实操步骤:

  • 运行 sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
  • 禁用系统自带源:sudo dnf -qy module disable postgresql
  • 再装:sudo dnf install -y postgresql16-server postgresql16-contrib
  • 初始化:sudo /usr/pgsql-16/bin/postgresql-16-setup initdb

注意路径:二进制和数据目录都带版本号(如 /usr/pgsql-16/),别手抖删错目录。systemd 服务名也变成 postgresql-16,不是 postgresql。

改监听地址和密码前,先切到 postgres 用户

PostgreSQL 默认只监听本地 Unix socket,listen_addresses = 'localhost' 并不等于允许远程连接——它仍拒绝所有 TCP 连接,除非显式设成 '*' 或具体 IP。

修改顺序不能乱:

  • 先用 sudo -u postgres psql 进去,执行 ALTER USER postgres PASSWORD 'xxx'; 设密码(默认无密码,peer 认证不生效)
  • 再改 /var/lib/pgsql/16/data/postgresql.conf:放开 listen_addresses 和 port
  • 最后改 pg_hba.conf,加一行:host all all 0.0.0.0/0 md5(测试用,生产请缩窄 IP 段)
  • 每次改完都要 sudo systemctl reload postgresql-16,不是 restart

容易踩的坑:改完 conf 不 reload,或者 reload 后忘了检查日志(sudo journalctl -u postgresql-16 -n 50),结果连不上还找不到原因。

连接时提示 password authentication failed for user "postgres"

不是密码错了,大概率是认证方式没对上。PostgreSQL 优先按 pg_hba.conf 里最上面匹配的规则走,而不是你想象的“默认用 md5”。

查当前生效规则:sudo -u postgres psql -c "SELECT * FROM pg_hba_file_rules();",重点看 type、database、user_name、auth_method 这几列。

  • 如果看到 local all all peer 在 host 规则上面,那本地 psql 就走 peer,输密码没用
  • 远程连接却卡在 md5,但实际连的是 ident 或 reject 规则,得看客户端 IP 是否真匹配那条 host 行
  • Windows/macOS 客户端连 Linux 服务器时,DNS 反查失败也会触发 fallback 到 reject,临时加 hostnossl 规则或关掉 reverse_dns

真实部署里,pg_hba.conf 的顺序和精确匹配比密码本身更常成为故障点。

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

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

下载

相关标签:

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

相关专题

更多
scripterror怎么解决
scripterror怎么解决

scripterror的解决办法有检查语法、文件路径、检查网络连接、浏览器兼容性、使用try-catch语句、使用开发者工具进行调试、更新浏览器和JavaScript库或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

929

5

500error怎么解决
500error怎么解决

500error的解决办法有检查服务器日志、检查代码、检查服务器配置、更新软件版本、重新启动服务、调试代码和寻求帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.25

2560

5

windows查看端口占用情况
windows查看端口占用情况

Windows端口可以认为是计算机与外界通讯交流的出入口。逻辑意义上的端口一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。怎么查看windows端口占用情况呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.07.26

3079

3

查看端口占用情况windows
查看端口占用情况windows

端口占用是指与端口关联的软件占用端口而使得其他应用程序无法使用这些端口,端口占用问题是计算机系统编程领域的一个常见问题,端口占用的根本原因可能是操作系统的一些错误,服务器也可能会出现端口占用问题。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.27

2658

6

windows照片无法显示
windows照片无法显示

当我们尝试打开一张图片时,可能会出现一个错误提示,提示说"Windows照片查看器无法显示此图片,因为计算机上的可用内存不足",本专题为大家提供windows照片无法显示相关的文章,帮助大家解决该问题。

2023.08.01

1448

3

windows查看端口被占用的情况
windows查看端口被占用的情况

windows查看端口被占用的情况的方法:1、使用Windows自带的资源监视器;2、使用命令提示符查看端口信息;3、使用任务管理器查看占用端口的进程。本专题为大家提供windows查看端口被占用的情况的相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.02

2439

5

windows无法访问共享电脑
windows无法访问共享电脑

在现代社会中,共享电脑是办公室和家庭的重要组成部分。然而,有时我们可能会遇到Windows无法访问共享电脑的问题。这个问题可能会导致数据无法共享,影响工作和生活的正常进行。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.08.08

3230

4

windows自动更新
windows自动更新

Windows操作系统的自动更新功能可以确保系统及时获取最新的补丁和安全更新,以提高系统的稳定性和安全性。然而,有时候我们可能希望暂时或永久地关闭Windows的自动更新功能。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.08.10

1517

3

windows boot manager
windows boot manager

windows boot manager无法开机的解决方法:1、系统文件损坏,使用Windows安装光盘或USB启动盘进入恢复环境,选择修复计算机,然后选择自动修复;2、引导顺序错误,进入恢复环境,选择命令提示符,输入命令"bootrec /fixboot"和"bootrec /fixmbr",然后重新启动计算机;3、硬件问题,使用硬盘检测工具进行扫描和修复;4、重装操作系统。本专题还提供其他解决

2023.08.28

2417

4

热门下载

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

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.4万人学习