从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用户,如何恢复?的主要内容,如果未能解决你的问题,请参考以下文章