从mac中删除了PostgreSQL用户,如何恢复?

Posted

技术标签:

【中文标题】从mac中删除了PostgreSQL用户,如何恢复?【英文标题】:Deleted PostgreSQL user from mac, how to restore? 【发布时间】:2014-03-14 12:52:23 【问题描述】:

我做了一件非常愚蠢的事情。 我在我的 mac 上运行 postgreSQL,里面有几个数据库。

最近我注意到在我的登录屏幕上添加了一个名为 PostgreSQL 的新用户,但我没有 找到一个更好的办法来删除这个用户。

现在,我的 pgAdminIII 不再连接到服务器,当我尝试连接时出现此错误:

服务器不听 服务器不接受连接:连接库报告 无法连接到服务器:连接被拒绝 服务器是否在主机“localhost”(::1) 上运行并接受端口 5432 上的 TCP/IP 连接?无法连接到服务器:连接被拒绝 服务器是否在主机“localhost”(127.0.0.1) 上运行并接受端口 5432 上的 TCP/IP 连接?无法连接到服务器:连接被拒绝服务器是否在主机“localhost”(fe80::1) 上运行并接受端口 5432 上的 TCP/IP 连接?

如何恢复连接?希望不用完全重新安装我的 postgres??

非常感谢:)

【问题讨论】:

你究竟是如何安装 PostgreSQL 的?什么版本,从哪里来的? 【参考方案1】:

您必须在管理控制台中创建一个短名称为“postgres”的新用户(它不应具有管理员权限),并确保其用户 ID 与原始“postgres”用户的用户 ID 完全相同。

如果您不确定旧的用户 ID 是什么,您可以通过查看 PostgreSQL 目录来查找:

ls -ldn /path/to/data/directory

(数据目录位置取决于您安装的 PostgreSQL 版本以及安装方式)。

如果您在 Mac OS X 上创建用户期间无法指定用户 ID,则需要创建用户,然后将数据目录的所有权重置为新创建的用户:

sudo chown -R postgres:postgres /path/to/data/directory

【讨论】:

【参考方案2】:

我在 linux 上使用 PostgreSQL,但我想在 mac OSX 中会是一样的。 您可以使用createuser 外部程序从系统命令行(不使用 psql)创建一个管理员用户,在 OS 终端的提示符下键入。

【讨论】:

以上是关于从mac中删除了PostgreSQL用户,如何恢复?的主要内容,如果未能解决你的问题,请参考以下文章

PostgreSQL中删除的数据能否恢复

Barman安装及备份PostgreSQL

如何随心所欲恢复macOS中被删除的文件

从git文件删除后如何恢复文件?

mac异常删除管理员账户恢复操作

postgresql卸载后之前的数据怎么恢复