当前位置: 首页 > news >正文

Ubuntu2204server系统安装postgresql14并配置密码远程连接

前言:

最近因项目需要安装postgresql14,系统是ubuntu2204server系统,安装好后发现无法实现远程连接,解决了之后在此记录一下解决方法。

疑问:

什么情况下需要配置postgresql远程连接?
①如果是postgresql和应用在同一台服务器上,那么由于相同主机访问时直接采用socket连接即可,所以这种情况下不需要配置postgresql远程连接,且这种连接方式不需要什么额外的配置,只需要使用命令sudo -u postgres psql -d postgres直接连接即可。
②如果是postgresql和应用不在一台主机上,也就是postgresql配置在一台单独的服务器上,那么就需要开放密码连接方式,防火墙开放5432端口,通过ip+端口+密码的方式访问数据库。

具体的配置方式如下:
1、安装数据库并配置防火墙
sudo apt install postgresql14	# 安装postgresql14版本的数据库
sudo ufw allow 5432/tcp		# 放行5432端口
sudo ufw reload			# 重启服务
2、修改配置文件并配置密码

(1)修改pg_hdb.conf

sudo vim /etc/postgresql/14/main/pg_hba.conf  # 修改两处配置并添加一处配置
# "local" is for Unix domain socket connections only
local   all             all                                     md5 # 将此处的peer修改为md5验证方式
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5	# 将此处的peer修改为md5验证方式# 文件末尾添加如下一行,这个是开放给其他服务器密码访问的配置
host    all             all             0.0.0.0/0               md5

(2)修改postgresql

listen_addresses = '*'      # 搜索此行,改为*,监听所有网络接口
password_encryption = md5	# 搜索此行打开注释,并配置为md5

(3)修改密码

# 切换到 postgres 用户
sudo su - postgres
# 启动 psql(在数据库本机用postgresql用户操作不需要密码,因为使用 peer 认证)
psql	# 直接敲psql能登入是因为匹配了pg_hba.conf配置文件中的这条规则(local all postgres peer)
# 在 psql 中执行以下命令重置密码
ALTER USER postgres WITH PASSWORD 'your_strong_password_here';
# 退出 psql
\q
# 返回到原来的用户
exit
3、验证
sudo systemctl reload postgresql	# 重载一下配置
sudo psql -U postgres -h 127.0.0.1 -d postgres -W	# 输入密码后能成功登入数据库就成功了
http://www.dtcms.com/a/346828.html

相关文章:

  • 【python与生活】如何自动总结视频并输出一段总结视频?
  • FastAPI + SQLAlchemy 数据库对象转字典
  • 【力扣 Hot100】每日一题
  • C++之list类的代码及其逻辑详解 (中)
  • Java线程的几种状态 以及synchronized和Lock造成的线程状态差异,一篇让你搞明白
  • Linux服务器Systemctl命令详细使用指南
  • GitLab CI:安全扫描双雄 SAST vs. Dependency Scanning 该如何抉择?
  • 智慧园区人车混行误检率↓78%!陌讯动态决策算法实战解析
  • html链接的target属性
  • Win11 下卸载 Oracle11g
  • 《文字的本体论突围:从工具论到符号学革命的范式转换》
  • B.30.01.1-Java并发编程及电商场景应用
  • 算法 ---哈希表
  • 从0到1:数据库进阶之路,解锁SQL与架构的奥秘
  • 日语学习-日语知识点小记-进阶-JLPT-N1阶段蓝宝书,共120语法(6):51-60语法
  • 为什么存入数据库的中文会变成乱码
  • 从罗永浩访谈李想中学习现代家庭教育智慧
  • C++编程语言:标准库:第36章——字符串类(Bjarne Stroustrup)
  • 【秋招笔试】2025.08.23美团研发岗秋招笔试题
  • 超越基础:Glide 高级优化与自定义实战
  • 氟锑酸与氢氧化铯的反应:从化学原理到计算模拟
  • Science Robotics 通过人机交互强化学习进行精确而灵巧的机器人操作
  • 文生3D实战:用[灵龙AI API]玩转AI 3D模型 – 第7篇
  • 【C标准库】详解<stdio.h>标准输入输出库
  • 数字化转型模型工作手册
  • 一种解决使用 PotPlayer 播放 Alist 的 Webdav 时提示 无法在 FTP/WebDAV/HTTP 上修改该文件夹 的方法
  • 深入理解纹理与QtOpenGL的实现
  • 随着威胁的加剧,地方政府难以保卫关键基础设施
  • 【小沐学GIS】基于C++绘制三维数字地球Earth(osgEarth、三维瓦片地球)第十期
  • 2025年AI Agent规模化落地:企业级市场年增超60%,重构商业作业流程新路径