时间:2021-05-23
PostgreSQL是一个功能非常强大的、源代码开放的客户/服务器关系型数据库管理系统(RDBMS)。PostgreSQL最初设想于1986年,当时被叫做Berkley Postgres Project。该项目一直到1994年都处于演进和修改中,直到开发人员Andrew Yu和Jolly Chen在Postgres中添加了一个SQL(Structured Query Language,结构化查询语言)翻译程序,该版本叫做Postgres95,在开放源代码社区发放。
下面给大家介绍下PostgreSQL忘记postgres密码的处理方法,具体内容如下所示:
PostgreSQL数据库中,假如你忘记了postgres账号的密码或者由于工作交接问题,等交接到你手头的时候,没有postgres账号密码,那怎么办呢?其实不用慌,像MySQL、SQL Server等数据库一样,只要你拥有操作系统权限,修改postgres超级账号的密码也非常方便简单。下面测试环境为CentOS Linux release 7.2.1511 (Core), PostgreSQL数据库版本为9.5。其它不同版本的操作其实是一样的,只是略有细微差别。
首先找到pg_hba.conf文件的位置,具体有下面这些方法:
方法1:locate定位pg_hba.conf文件的位置
$ locate pg_hba.conf/usr/pgsql-9.5/share/pg_hba.conf.sample/var/lib/pgsql/9.5/data/pg_hba.conf方法2:find命令查找。
$ find / -name "pg_hba.conf" 2>%1 | grep -v "Permission denied"/var/lib/pgsql/9.5/data/pg_hba.conf修改pg_hba.conf前最好做一个备份,这是一个良好的习惯,避免回滚的时候,你能轻松回撤所有操作。
#cp /var/lib/pgsql/9.5/data/pg_hba.conf /var/lib/pgsql/9.5/data/pg_hba.conf.20210125在pg_hba.conf中找到类似下面这样的地方:
# TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix domain socket connections onlylocal all all md5# IPv4 local connections:host all all 127.0.0.1/32 md5# IPv6 local connections:host all all ::1/128 md5# Allow replication connections from localhost, by a user with the# replication privilege.#local replication postgres peer#host replication postgres 127.0.0.1/32 ident#host replication postgres ::1/128 ident # Allow access from all host to connect to this UAT serverhost all all 0.0.0.0/0 md5关于修改pg_hba.conf,如果你打算以socket方式在本机登录数据库,那么只需修改local这条记录,将pg_hba.conf中的这个选项的的值从md5修改为trust
修改前# "local" is for Unix domain socket connections onlylocal all all md5 修改后# "local" is for Unix domain socket connections onlylocal all all trusttrust表示允许可信的本地连接。此时连接数据库不用输入密码。
小知识:
TYPE表示主机类型,它的取值有下面这些:
local :表示是unix-domain的socket连接
host :表示TCP/IP socket
hostssl: 表示SSL加密的TCP/IP socket
如果你打算以TCP/IP方式访问数据库,即psql -h127.0.0.1 -Upostgres这样的方式,那么必须修改host的配置。具体如下所示:
修改前:# IPv4 local connections:host all all 127.0.0.1/32 md5 修改后:# IPv4 local connections:host all all 127.0.0.1/32 trust重启PostgreSQL服务的方法很多,这里不做过多介绍,选择你常用的方式即可。
# service postgresql-9.5 stopRedirecting to /bin/systemctl stop postgresql-9.5.service# service postgresql-9.5 startRedirecting to /bin/systemctl start postgresql-9.5.service# service postgresql-9.5 statusRedirecting to /bin/systemctl status postgresql-9.5.service使用psql无密码登录,修改用户postgres的密码
alter user postgres with password '新的密码';方式1:
方式2:
关于两者,如果ssh是用postgres用户连接服务器的话,那么直接psql即可,如果是root用户连接服务器的话,必须用psql -U postgres
-bash-4.2$ psqlpsql (9.5.6)Type "help" for help. postgres=# alter user postgres with password 'xxxxxxxx';ALTER ROLE到此这篇关于PostgreSQL忘记postgres账号的密码的解决方法的文章就介绍到这了,更多相关PostgreSQL忘记postgres密码内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
铁路12306账号密码忘记了的解决方法如下: 1、首先,登录到12306官方网站,点击左边网上注册,购票,任意一个菜单。 2、然后找到登录界面后,选择忘记用
优学派图形密码忘了的解决方法: 1、必要条件是被锁机器之前设置、登录了google账号,账号密码已知,且手机可以联网。 2、随意5次输入密码,系统提示5次输
qq钱包密码忘了的解决方法如下: 1、打开手机QQ,输入账号密码进行登录; 2、进入后点击头像,进入个人主页; 3、点击QQ钱包,进入钱包账户; 4
许多电脑都需要宽带账号密码拨号,但是宽带账号也有可能忘记的时候,那么宽带账号密码怎么查看?其实只需要一个软件就行。下面就为大家详细介绍一下,来看看吧!工具/原料
账号密码忘记是常有的事,所有我们密码设置一定要自己常用的要简单,不必太过复杂。如果自己记得住那到没事。如果账号访问密码忘记了那么如何消除呢?目前foxmail新