Postgresql数据库密码忘记的解决方法

news/2024/9/17 19:01:56/ 标签: postgresql

如果你忘记了PostgreSQL数据库的密码,可以通过以下方法重置密码:

方法一:修改 pg_hba.conf 文件

  1. 找到 pg_hba.conf 文件

    • 这个文件通常位于 PostgreSQL 数据目录中。你可以通过以下命令找到该文件的位置:
       

      复制代码

      sudo -u postgres psql -c "SHOW config_file;"

      在结果中找到 pg_hba.conf 文件的路径。
  2. 修改 pg_hba.conf 文件

    • 打开文件:

      复制代码

    • sudo nano /path/to/pg_hba.conf

    • 找到类似以下的行:

      复制代码

      # "local" is for Unix domain socket connections only local all all md5

    • md5 修改为 trust,如下所示:
       sql 

      复制代码

      local all all trust

    • 保存并关闭文件。
  3. 重启 PostgreSQL 服务

    • 修改完配置文件后,需要重启 PostgreSQL 服务:
       bash 

      复制代码

      sudo systemctl restart postgresql

    • 或者:
       bash 

      复制代码

      sudo service postgresql restart

  4. 重新设置密码

    • postgres 用户登录 PostgreSQL,不需要密码:
       bash 

      复制代码

      sudo -u postgres psql

    • 然后在 PostgreSQL 控制台中,重置密码:
       sql 

      复制代码

      ALTER USER postgres PASSWORD 'new_password';

    • 退出 PostgreSQL:
       sql 

      复制代码

      \q

  5. 恢复 pg_hba.conf 文件

    • 重新打开 pg_hba.conf 文件,将 trust 改回 md5
       bash 

      复制代码

      sudo nano /path/to/pg_hba.conf

      将之前修改的行改回:
       sql 

      复制代码

      local all all md5

    • 保存并关闭文件。
  6. 再次重启 PostgreSQL 服务

    • 重启 PostgreSQL 服务以使配置生效:
       bash 

      复制代码

      sudo systemctl restart postgresql

方法二:使用 psql 直接重置密码

如果你仍然能够访问 PostgreSQL 服务器上的 postgres 用户,可以直接使用 psql 命令来重置密码:

  1. postgres 用户登录系统

     bash 

    复制代码

    sudo -i -u postgres

  2. 进入 psql 控制台

     bash 

    复制代码

    psql

  3. 重置密码

     sql 

    复制代码

    ALTER USER postgres PASSWORD 'new_password';

  4. 退出 psql

     sql 

    复制代码

    \q

  5. 退出 postgres 用户

     bash 

    复制代码

    exit

注意事项

  • 安全性:在修改 pg_hba.conf 文件时,务必确保在重置密码后将认证方式恢复为 md5 或其他合适的认证方式,以确保数据库的安全。
  • 权限:需要有足够的权限访问 PostgreSQL 数据目录和配置文件。

通过以上步骤,你应该能够成功重置 PostgreSQL 的密码。


http://www.ppmy.cn/news/1507503.html

相关文章

【前端】NodeJS:NodeJS模块化

文章目录 1 NodeJS模块化1.1 模块化与模块1.2 模块化项目1.3 模块化好处 2 模块暴露数据2.1 模块初体验2.2 暴露数据 3 导入(引入)模块4 导入模块的基本流程5 CommonJS规范 1 NodeJS模块化 1.1 模块化与模块 将一个复杂的程序文件依据一定规则&#xf…

leetcode数论(836. 矩形重叠)

前言 经过前期的基础训练以及部分实战练习,粗略掌握了各种题型的解题思路。现阶段开始专项练习。 数论包含最大公约数(>2个数)、最大公约数性质、最小公倍数、区间范围质因素计数(最下间隔)、质因素分解、判断质数、平方根、立方根、互质、同余等等。 描述 矩…

RK3399平台开发系列讲解(内核入门篇)module_init 的加载过程

🚀返回专栏总目录 文章目录 沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本文要研究的内容为编译进内核的驱动系统是如何运行的? 在驱动程序中,module_init 宏定义了驱动的入口函数,在模块加载时被内核自动调用, 该宏定义在内核源码目录下的“include/linux/…

rabbitmq出现Management API returned status code 500 -

我们在使用rabbitMq点击交换机时会发现提示以下错误: 解决方案: 1、进入容器中 docker exec -it rabbitmq的镜像id /bin/bash2、cd到目录/etc/rabbitmq/conf.d/ cd /etc/rabbitmq/conf.d/ 3、执行该命令 echo management_agent.disable_metrics_co…

【C++ 面试 - 基础题】每日 3 题(九)

✍个人博客:Pandaconda-CSDN博客 📣专栏地址:http://t.csdnimg.cn/fYaBd 📚专栏简介:在这个专栏中,我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话,欢迎点赞👍收藏&…

React 条件判断

在 React 中,可以通过 JavaScript 的条件语句来动态渲染组件或元素。 以下是几种常用的在 React 中处理条件渲染的方法: 1. 使用 if 语句 在 render 方法或函数组件的返回值中使用 if 语句来决定渲染内容。 实例 import React from react; import R…

使用线上电子签合同靠谱吗?被国家认可的8款

盘点国内外安全靠谱的8大电子签合同工具:E签宝、上上签、法大大、DocuSign、腾讯电子签、爱签、Adobe Acrobat Sign、契约锁。 在互联网金融快速发展的今天,电子签合同已经成为新常态,它不仅简化了传统的文档处理流程,也提高了交易…

vue的diff算法的【双端比较】策略

Vue 的 diff 算法中的双端比较策略是一种高效的节点比较方法,通过同时从新旧节点列表的两端进行比较,尽可能减少节点的移动操作,从而提高性能。以下是详细的步骤和解释: 双端比较策略的步骤 初始化指针: 设置四个指针…

MySQL运维-读写分离

介绍 读写分离,简单地说是把对数据库的读和写操作分开,以对应不同的数据库服务器。主数据库提供写操作,从数据库提供读操作,这样能有效地减轻单台数据库的压力 通过MyCat即可轻易实现上述功能,不仅可以支持MySQL&…

[Qt][QWidget]详细讲解

目录 1.概述2.QWidget核心属性1.简介2.核心属性概览 3.QWidget常用属性1.enabled2.geometry1.是什么?2.Window Frame的影响3.相关API4.注意 3.windowTitile4.windowIcon5.windowOpacity6.cursor8.font9.toolTip10.focusPolicy11.styleSheet 1.概述 Widget是Qt中的核…

Allegro创建Xnet操作指导

1.Analyze–Model Assigment 点击OK 3.点击是 4.选中器件,点击Create Model 5.点击OK 6.填写参数 点击OK,设置成功!!

C语言家教记录(三)

C语言家教记录(二) 导语选择语句基本运算符if条件表达式switchbreak 循环whiledofor退出循环continuebreak 空循环 总结和复习 导语 本次授课内容如下:选择语句、循环 辅助教材为 《C语言程序设计现代方法(第2版)》 …

【Pytorch实用教程】Pytorch的torch.nn模块中都有哪些函数

在PyTorch的torch.nn模块中,有许多用于构建和训练神经网络的函数和类。以下是一些主要的函数和类分类: 1. 神经网络层 (Layers) nn.Linear:全连接层nn.Conv2d:二维卷积层nn.Conv3d:三维卷积层nn.ConvTranspose2d:二维反卷积层nn.ConvTranspose3d:三维反卷积层nn.BatchN…

大数据技术——实战项目:广告数仓(第三部分)

目录 第6章 广告数仓采集通道 6.1 模拟数据准备 6.1.1 广告管理平台数据库 6.1.2 曝光点击监测数据 6.2 广告管理平台数据采集 6.2.1 数据库同步工具之DataX 6.2.2 数据采集通道 6.2.3 DataX配置文件 6.2.4 DataX配置文件生成 6.2.5 测试生成的DataX配置文件 6.2.6 全…

SpringBoot3与SpringBoot2在Redis配置中的区别

SpringBoot3与SpringBoot2在Redis配置中的区别 对于SpringBoot2.x来讲,RedisProperties中的配置为 ConfigurationProperties(prefix "spring.redis" )我们在yml文件中的配置应为 spring:redis:host: localhostport: 6379password:database: 0而对于Sp…

PKI证书系统

1. 散列函数 1.1 定义 散列函数也叫做HASH函数,主流的散列算法有MD5与SHA-1。散列函数的主要任务是验证数据的完整性。通过散列函数计算得到的结果叫做散列值,这个散列值也常常被称为数据的指纹(Fingerprint) 1.2 日常生活中指纹的工作原理 1.3 散列函…

3D开发工具HOOPS如何实现数字孪生高效的模型设计和分析?

数字孪生技术通过创建物理对象或系统的虚拟模型,实时反映其状态和行为,从而实现监控、优化和预测。这一技术在智能制造、建筑、城市规划等领域有着广泛应用。HOOPS SDK作为一套功能强大的软件开发工具包,为数字孪生技术的实现提供了全面支持。…

rk3568 android12 hdmi、耳机、喇叭音频切换

文章目录 前言一、耳机extcon状态的上报处理1.1、驱动1.2、封装切换接口二、hdmi音频extcon状态的上报处理2.1、驱动2.2、 封装切换接口三、喇叭状态的处理3.1、驱动3.2、 封装切换接口四、驱动创建切换音频的文件节点4.1、添加驱动4.2、切换音频驱动代码实现4.3、通过命令对切…

计算机网络408考研 2014

1 计算机网络408考研2014年真题解析_哔哩哔哩_bilibili 1 111 1 11 1

【模电笔记】——集成运算放大电路

tips:本章节的笔记已经打包到word文档里啦,建议大家下载文章顶部资源(有时看不到是在审核中,等等就能下载了。手机端下载后里面的插图可能会乱,建议电脑下载,兼容性更好且易于观看),…