PostgreSQL:在 Ubuntu 上重置 PostgreSQL 的密码 [关闭]

2024-02-19

在 Ubuntu 中,我安装了 PostgreSQL 数据库并为服务器创建了一个超级用户。

如果我忘记了 postgresql 超级用户的密码,如何为该用户重置它(密码)?

我尝试卸载它然后再次安装,但之前创建的超级用户被保留。


假设你是机器的管理员,Ubuntu 已授予你以下权限:sudo以任何用户身份运行任何命令。
同时假设您没有限制以下权利pg_hba.conf文件(在/etc/postgresql/9.1/main目录),它应该包含这一行作为第一条规则:

# Database administrative login by Unix domain socket  
local   all             postgres                                peer

(关于文件位置:9.1是主要的 postgres 版本并且main您的“集群”的名称。如果使用较新版本的 postgres 或非默认名称,则会有所不同。使用pg_lsclusters命令获取您的版本/系统的此信息)。

无论如何,如果pg_hba.conf文件没有该行,编辑文件,添加它,然后重新加载服务sudo service postgresql reload.

然后你应该能够登录psql作为 postgres 超级用户使用以下 shell 命令:

sudo -u postgres psql

进入 psql 后,发出 SQL 命令:

ALTER USER postgres PASSWORD 'newpassword';

在此命令中,postgres是超级用户的名称。如果忘记密码的用户是ritesh,命令为:

ALTER USER ritesh PASSWORD 'newpassword';

参考:PostgreSQL 9.1.13 文档,第 19 章。客户端身份验证 http://www.postgresql.org/docs/9.1/interactive/client-authentication.html

请记住,您需要输入postgres与单个S在最后

如果在命令历史记录或服务器日志中以明文形式保留密码是一个问题,psql 提供了一个交互式元命令来避免这种情况,作为替代ALTER USER ... PASSWORD:

\password username

它要求双盲输入密码,然后根据password_encryption https://www.postgresql.org/docs/current/runtime-config-connection.html#GUC-PASSWORD-ENCRYPTION设置并发出ALTER USER使用密码的哈希版本而不是明文版本向服务器发送命令。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PostgreSQL:在 Ubuntu 上重置 PostgreSQL 的密码 [关闭] 的相关文章

  • 如何更改 PostgreSQL 表中列的数据类型?

    在 PostgreSQL 交互式终端中输入以下命令会导致错误 ALTER TABLE tbl name ALTER COLUMN col name varchar 11 更改列的数据类型的正确命令是什么 请参阅此处的文档 http www
  • 如何同时正确使用管道和信号?

    我有 2 个孩子 我想将信号从孩子发送到父母 并将答案 随机数 为什么 为什么不 命名管道从父母发送到每个孩子 我有这个代码 include
  • -bash:pg_dump:找不到命令

    我正在尝试在本地为我的 Rails 应用程序提取一个生产数据库 我本地的 postgres 版本太低 所以我需要从 9 4 1 更新到 Postgresql 9 6 5 我通过 Homebrew 安装了 Postgres 9 6 6 如下所
  • 强制 DataMapper 断开与 postgresql 的连接

    我有一个测试 正在 postgresql 中创建和销毁多个数据库 为了能够删除数据库 我需要告诉 DataMapper 断开连接 我似乎找不到任何有关如何执行此操作的文档 DataMapper Adapters PostgresAdapte
  • 如何在 PostgreSql 的预订表中找到第一个空闲时间

    预订表包含预订开始日期 开始时间和持续时间 工作日的开始时间为工作时间 8 00 18 00 以半小时为增量 持续时间也以每天半小时为增量 CREATE TABLE reservation startdate date not null s
  • 与 PostgreSQL CTE 的一般并行性

    我正在处理一些大数据 并且在查询中获取并行计划是必要的 我也很喜欢使用 CTE 来表达我的查询 但根据 PostgreSQL 的文档 我不太确定 CTE 是否对并行性造成严重限制 Here https www postgresql org
  • 在 postgreSQL 上选择大写表名不起作用[重复]

    这个问题在这里已经有答案了 我在 windows7 和 python3 4 4 上使用 psycopg2 我想从大写名称的表中获取数据 但我无法弄清楚 谁能帮我 总是这样返回relation table does not exist我想让
  • Postgres 简单的“数据透视表”

    如果我有一个这样的数据表 name type count test blue 6 test2 red 3 test red 4 我怎样才能查询它以获得一个表 name num red num blue test 4 6 test2 3 0
  • 在进行 sem_timedwait 时,我将如何应对系统时间的变化?

    假设我有一个使用的程序sem timedwait为了等待 100 毫秒 获取当前时间 添加 100 毫秒 将结果用作abs timeout 参见手册页 http man7 org linux man pages man3 sem wait
  • PostgreSQL Age() 函数:在不同月份登陆时出现不同/意外的结果

    今天 我在 PostgreSQL 9 6 中运行此查询时遇到了无法解释的结果 SELECT age 2018 06 30 2018 05 19 AS one age 2018 07 01 2018 05 20 AS two 两列的预期结果
  • 如何并行执行4个shell脚本,我不能使用GNU并行?

    我有4个shell脚本dog sh bird sh cow sh和fox sh 每个文件使用 xargs 并行执行 4 个 wget 来派生一个单独的进程 现在我希望这些脚本本身能够并行执行 由于某些我不知道的可移植性原因 我无法使用 GN
  • 安装python启动文件

    我如何安装pythonstartup文件 以便它在命令上运行 例如python myfile py 我尝试将其安装到我的 home myuserUbuntu的目录 但它说我没有足够的权限 此外 不同的地方交替说它应该全部大写或全部小写 前面
  • 是否有可能在 postgres 中捕获外键违规

    我正在尝试将数据插入具有外键约束的表中 如果我插入的行中存在约束违规 我想丢弃该数据 问题是每次我违反约束时 postgres 都会返回一个错误 我是否可以在插入语句中添加一些语句 例如 ON FOREIGN KEY CONSTRAINT
  • 防止 PostgreSQL 中专有名词的词干?

    以其热情将词干标记转化为词位 http www postgresql org docs current interactive textsearch intro html PostgreSQL全文搜索引擎也减少了专有名词 例如 essais
  • 查找 PostgreSQL 中所有范围集合的所有交集

    我正在寻找一种有效的方法来查找时间戳范围集之间的所有交集 它需要与 PostgreSQL 9 2 配合使用 假设这些范围代表一个人可以见面的时间 每个人都可以有一个或多个空闲时间范围 我想找到all可以召开会议的时间段 即所有人都有空的时间
  • 使用 JSON 参数的 Postgres 批量 INSERT 函数

    这是一个plpgsqlpostgres 的函数9 6 它试图INSERT一行 如果插入没有失败 由于违反键约束 那么它会运行更多命令 CREATE FUNCTION foo int text text RETURNS void AS BEG
  • 执行命令而不将其保留在历史记录中[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 在进行软件开发时 经常需要在命令行命令中包含机密信息 典型示例是将项目部署到服务器的凭据设置为环境变量 当我不想将某些命令存储在命令历史记
  • wal_keep_segments 为什么是最小值而不是最大值?

    根据docs http www postgresql org docs current static runtime config replication html wal keep segments integer 指定过去日志的最小数量
  • 无法“安装”plpython3u - postgresql

    我正在尝试在 postgresql 中使用 python 语言 像这样的事情 create or replace function test a integer returns integer as if a 2 0 return even
  • 比较两个 postgres 转储文件

    如何比较 postgres 转储文件 我有两个转储文件 dump1 和 dump2 我想比较这两个转储文件 任何帮助将不胜感激 谢谢 如果使用 Windows 则可以使用 Beyond Compare 如果使用 linux fedora 则

随机推荐