如何在 Mac OS 上卸载 postgres?无法删除数据

如何在 Mac OS 上卸载 postgres?无法删除数据

我想在 Mac OS 10.6 上卸载 postgres,然后以全新安装和空数据库重新启动。

我已经终止所有正在运行的 postgres 进程并尝试删除 postgres 数据目录,但是没有任何效果(见下文):六个数据库仍然存在。

我也尝试查找 PGDATA 变量,但它似乎是空的。这些数据库位于哪里?

delirium:~ ap257$ kill 7495
delirium:~ ap257$ sudo su - postgres
Password:
delirium:~ postgres$ rm -rf /usr/local/pgsql/

[从二进制文件重新安装 postgres]

delirium:~ ap257$ sudo su - postgres
Password:
delirium:~ postgres$ export PATH=$PATH:/usr/local/pgsql/bin/
delirium:~ postgres$ psql
Password: 
psql (8.4.4)
Type "help" for help.
postgres=# \l
                                 List of databases
       Name       |  Owner   | Encoding | Collation | Ctype |   Access privileges   
------------------+----------+----------+-----------+-------+-----------------------
 osqa             | postgres | UTF8     | C         | C     | =Tc/postgres
                                                            : postgres=CTc/postgres
                                                            : osqa=CTc/postgres
 postgres         | postgres | UTF8     | C         | C     | 
 production       | postgres | UTF8     | C         | C     | =Tc/postgres
                                                            : postgres=CTc/postgres
                                                            : anna=CTc/postgres
 template0        | postgres | UTF8     | C         | C     | =c/postgres
                                                            : postgres=CTc/postgres
 template1        | postgres | UTF8     | C         | C     | =c/postgres
                                                            : postgres=CTc/postgres
 template_postgis | postgres | UTF8     | C         | C     | 
(6 rows)
postgres=# \q
delirium:~ postgres$ echo $PGDATA

这些数据库为什么不会消亡?

答案1

您总是可以执行lsof | grep pg或类似的操作(Postgres)来查看是否有一些与 postgresql 相关的进程打开了任何东西。pg 相当模糊,但我相信筛选起来不会太多。

答案2

您的进程 7495 是一个使用 postgresql 数据库的 python 进程。

相关内容