如何在我的Mac(运行Snow Leopard)上卸载PostgreSQL

29

我将10.5升级到10.6,现在postgres 8.1出了问题。更糟糕的是,我尝试安装8.4,但几乎可以肯定只会使情况恶化十倍。无论如何,我尝试启动postgres并仅创建用户时遇到的异常如下:

createuser: 无法连接到数据库postgres:无法连接到服务器:没有这样的文件或目录。本地运行的服务器是否正在接受Unix域套接字“/tmp/.s.PGSQL.5432”上的连接?

我该如何完全从我的Mac中删除postgres,以便我可以重新开始?

谢谢。


你是通过源码安装还是一些包安装方法安装Postgresql的? - Kuberchaun
我不记得我最初是如何安装它的。不是从源代码安装的。我想是从这里安装的:http://www.postgresqlformac.com/。 - wgpubs
4个回答

63
问题出在我的机器上的PostgreSQL帐户上。 我删除了该帐户并按照此处的说明进行卸载: 自动卸载: 在安装目录中,将会有一个uninstall-postgresql.app文件。执行(双击)该文件将会卸载PostgreSQL安装。 手动卸载: 1. 停止服务器:
sudo /sbin/SystemStarter stop postgresql-8.3
  • 删除菜单快捷方式:

    sudo rm -rf /Applications/PostgreSQL 8.3
    
  • 删除ini文件:

    sudo rm -rf /etc/postgres-reg.ini
    
  • 删除启动项:

  • sudo rm -rf /Library/StartupItems/postgresql-8.3
    
  • 删除数据和已安装的文件:

  • sudo rm -rf /Library/PostgreSQL/8.3
    
  • 删除用户 postgres:

    sudo dscl . delete /users/postgres 
    

  • 9
    我也可以在答案中添加这个小命令:
    rm /usr/bin/psql
    

    移除可执行 psql 别名。


    2
    这个答案比上面更接近正确。自 Lion(10.7)起,Apple 预装了 postgres 二进制文件。不会有所选答案提到的卸载程序。 - Chris
    好的,问题明确说明不是狮子,而是雪豹(10.6),但没关系,被选中的答案完美地解决了问题。 - zuloo
    请解释一下这行代码和注释的含义。它是上面答案的额外补充,还是您更愿意重复整个答案? - Stevetech
    您还需要把所有的 /usr/bin/pg_* 可执行文件(如 pg_dump、pg_restore 等)都删除。 - rootsmith
    我认为更好的方法是将Postgres安装/bin路径添加到系统$PATH中,而不是删除系统的某些部分。之后,您将使用与PostgreSQL服务器相同的psql pg_*版本。 - cintrzyk
    当我尝试这个解决方案时,出现了“rm:/usr/bin/psql:权限被拒绝”的错误。有没有什么解决方法? - Wilhelm

    2

    如果你使用的是更新版本的Postgres和/或OSX/macOS,你可以查看这个答案


    0

    由于我无法使用以下命令运行/找到installbuilder.sh...

    me@myMac:/Library/PostgreSQL/14/uninstall-postgresql.app/Contents/MacOS$ installbuilder.sh  
    -bash: installbuilder.sh: command not found  
    

    ...然后我继续尝试以下步骤:

    1. me@myMac:/Library/PostgreSQL/14/uninstall-postgresql.app/Contents/MacOS$ ls -la  
      总用量 3112
      drwxr-xr-x  5 root  daemon      160 9月  23 10:48 ./
      drwxr-xr-x  5 root  daemon      160 9月  23 09:18 ../
      -rwxr-xr-x  1 root  daemon      673 9月  23 10:48 installbuilder.sh*
      -rwxr-xr-x  1 root  daemon  1449456 9月  23 10:07 osx-x86_64*
      -rwxr-xr-x  1 root  daemon   135216 7月  14 11:21 uninstall-postgresql*  
      
    2. me@myMac:/Library/PostgreSQL/14/uninstall-postgresql.app/Contents/MacOS$ ./installbuilder.sh
      无法初始化安装程序  
      
    3. me@myMac:/Library/PostgreSQL/14/uninstall-postgresql.app/Contents/MacOS$ ./uninstall-postgresql  
      用法: ./uninstall-postgresql installerName [args ...]
      
    4. me@myMac:/Library/PostgreSQL/14/uninstall-postgresql.app/Contents/MacOS$ ./uninstall-postgresql osx-x86_64
      

    大功告成!!!

    1. 这启动了卸载GUI界面

    2. 选择卸载全部/删除整个安装 enter image description here

    3. 卸载程序将完成其工作,然后提示您: enter image description here

    4. 此时,您需要按照之前的StackOverflow答案中提供的步骤进行操作 - @user1181328的答案中的第3到6步。 为方便起见,在此列出:

    3. 删除 PostgreSQL 及数据文件夹。向导会提示这些文件未被删除。 sudo rm -rf /Library/PostgreSQL
    4. 删除 ini 文件: sudo rm /etc/postgres-reg.ini
    5. 删除 PostgreSQL 用户: 使用“系统偏好设置”->“用户和组”。 通过单击挂锁并输入您的密码来解锁设置面板。 选择 PostgreSQL 用户,然后点击减号按钮。
    6. 恢复共享内存设置: sudo rm /etc/sysctl.conf
    到此为止!卸载向导将删除所有图标和启动应用程序文件,因此您不必担心这些问题。

    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接