讲师中心 微信公众号

工具推荐

视频效率加速
Laper
Laper

剧本策划到成片协作

AniShort
AniShort

AI短剧协同制作平台

Seko
Seko

AI短剧一键生成成片

updream

一键生成高质量推广成片

linux怎么安装PostgreSQL_linux配置高级数据库【教程】

酷晨姑娘_6939

酷晨姑娘_6939

发布时间:2026-03-13 11:50:03

|

801人浏览过

|

来源于php中文网

原创

推荐使用系统包管理器安装PostgreSQL:Ubuntu/Debian用apt install postgresql postgresql-contrib,CentOS/RHEL 8+用dnf install postgresql-server postgresql-contrib;自行编译易遗漏systemd服务配置、数据目录权限及locale初始化等关键步骤。

linux怎么安装postgresql_linux配置高级数据库【教程】

直接用系统包管理器装,别自己编译

Ubuntu/Debian 用 apt install postgresql postgresql-contrib,CentOS/RHEL 8+ 用 dnf install postgresql-server postgresql-contrib。自己下载源码编译不仅慢,还容易漏掉 systemd 服务配置、默认数据目录权限、locale 初始化这些关键步骤。

常见错误现象:psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed——多半是没运行 postgresql-setup initdb(RHEL)或没执行 sudo pg_createcluster(Debian),导致数据目录压根没初始化。

  • Debian 系发行版会自动创建 postgres 用户和默认集群,启动服务只需 sudo systemctl start postgresql
  • RHEL/CentOS 需手动初始化:sudo postgresql-setup --initdb,否则 systemctl start postgresql 会静默失败
  • 装完立刻检查:sudo -u postgres psql -c "SELECT version();",能返回版本说明服务已跑起来

改监听地址前先关 SELinux 或配策略

想让其他机器连进来?改 postgresql.conf 里的 listen_addresses 是第一步,但 CentOS/RHEL 上默认 SELinux 会拦住非标准端口或跨网段连接,netstat -tlnp | grep :5432 看到监听了,客户端照样连不上。

使用场景:本地开发用 localhost 就够;测试环境要从 Docker 容器或另一台机器访问,必须放开监听 + 放行防火墙 + 配 SELinux。

  • 临时关 SELinux:sudo setenforce 0(仅调试用,重启后恢复)
  • 永久放行 PostgreSQL 端口:sudo semanage port -a -t postgresql_port_t -p tcp 5432
  • 防火墙别只开 5432,还要确认 firewalld zone 正确:sudo firewall-cmd --permanent --add-service=postgresql
  • pg_hba.conf 必须同步加规则,比如 host all all 192.168.1.0/24 md5,光改 listen_addresses 没用

用户密码设错会导致 psql -U 连不上

PostgreSQL 默认禁用密码登录,新用户即使设了密码,pg_hba.conf 里对应规则不是 md5 或 scram-sha-256,psql -U myuser -d mydb 就会卡在密码提示或直接报 password authentication failed。

参数差异:Debian 默认用 peer 认证本地 postgres 用户,RHEL 默认用 ident;两者都不走密码。想统一用密码,得改 pg_hba.conf 对应行的认证方法。

  • 切到 postgres 系统用户再进:sudo -u postgres psql,避免被认证机制挡在外面
  • 在 psql 里设密码:ALTER USER myuser WITH PASSWORD 'xxx';,单引号不能省
  • 改完 pg_hba.conf 后必须 reload:sudo systemctl reload postgresql(不是 restart)
  • 验证是否生效:psql -U myuser -d postgres -h 127.0.0.1(强制走 TCP,绕过 peer/ident)

扩展没启用就用 uuid_generate_v4() 会报函数不存在

很多教程说“装完就能用 UUID”,但 uuid-ossp 扩展默认不激活。直接写 SELECT uuid_generate_v4();,报错就是 function uuid_generate_v4() does not exist,不是没装对,是没启用。

性能影响:启用扩展只是注册函数和类型,不占内存,也不影响启动速度;但 pgcrypto 这类加密扩展如果不用,没必要启用,减少潜在攻击面。

  • 先连进数据库:sudo -u postgres psql mydb
  • 启用扩展:CREATE EXTENSION IF NOT EXISTS "uuid-ossp";(双引号不能少,因为名字带横线)
  • 想全局启用?在 template1 库里执行,新创建的库自动继承:sudo -u postgres psql template1 -c "CREATE EXTENSION \"uuid-ossp\";"
  • 不确定有哪些扩展可用:\dx 查已启用,SELECT * FROM pg_available_extensions; 查全部

真正麻烦的是 pg_hba.conf 的匹配顺序和 reload 时机——改完不 reload,或者规则写在拒绝条目后面,问题就藏得特别深。还有人把密码设成纯数字,结果被 scram-sha-256 认证机制拒绝,报错却只说“authentication failed”。

热门AI工具

更多
VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

相关专题

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

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

1069

2023.10.18

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

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

3480

2023.10.25

function是什么
function是什么

function是函数的意思,是一段具有特定功能的可重复使用的代码块,是程序的基本组成单元之一,可以接受输入参数,执行特定的操作,并返回结果。本专题为大家提供function是什么的相关的文章、下载、课程内容,供大家免费下载体验。

3660

2023.08.04

js函数function用法
js函数function用法

js函数function用法有:1、声明函数;2、调用函数;3、函数参数;4、函数返回值;5、匿名函数;6、函数作为参数;7、函数作用域;8、递归函数。本专题提供js函数function用法的相关文章内容,大家可以免费阅读。

594

2023.10.07

k8s和docker区别
k8s和docker区别

k8s和docker区别有抽象层次不同、管理范围不同、功能不同、应用程序生命周期管理不同、缩放能力不同、高可用性等等区别。本专题为大家提供k8s和docker区别相关的各种文章、以及下载和课程。

825

2023.07.24

docker进入容器的方法有哪些
docker进入容器的方法有哪些

docker进入容器的方法:1. Docker exec;2. Docker attach;3. Docker run --interactive --tty;4. Docker ps -a;5. 使用 Docker Compose。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

6779

2024.04.08

docker容器无法访问外部网络怎么办
docker容器无法访问外部网络怎么办

docker 容器无法访问外部网络的原因和解决方法:配置 nat 端口映射以将容器端口映射到主机端口。根据主机兼容性选择正确的网络驱动(如 host 或 overlay)。允许容器端口通过主机的防火墙。配置容器的正确 dns 服务器。选择正确的容器网络模式。排除主机网络问题,如防火墙或连接问题。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

7937

2024.04.08

docker镜像有什么用
docker镜像有什么用

docker 镜像是预构建的软件组件,用途广泛,包括:应用程序部署:简化部署,提高移植性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

3173

2024.04.08

Go-Zero API开发使用教程
Go-Zero API开发使用教程

本专题聚焦Go-Zero的API开发,拆解.api描述文件的语法结构、路由与分组定义、参数绑定与校验规则,说明统一响应体、JWT鉴权、跨域与接口文档生成的落地方式,并给出网关聚合与接口测试的实践建议。

0

2026.11.12

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Miniconda官方安装文档
Miniconda官方安装文档

共0课时 | 0人学习

phpMyAdmin 安装文档
phpMyAdmin 安装文档

共0课时 | 0人学习

安装 Xdebug 并配置 phpstorm
安装 Xdebug 并配置 phpstorm

共1课时 | 207人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn