无法找到Mac OS X中PostgreSQL的数据目录

时间:2014-06-10 03:36:00

标签: macos postgresql

我在Mac OS X 10.9.3中通过自制软件安装了hava PostgreSQL 9.3。当我第一次安装它时,它运行良好。重新启动后它碰巧没有启动,我不知道如何通过pg_ctl启动它,因为我无法找到它的数据目录:

$ pg_ctl start
pg_ctl: no database directory specified and environment variable PGDATA unset
Try "pg_ctl --help" for more information.

$ pwd
/usr/local/var/postgres

$ ls -al
total 96
drwx------  21 alex  admin    714 Jun  2 21:23 .
drwx------   3 alex  admin    102 Jun  1 15:08 ..
-rw-------   1 alex  admin      4 Jun  1 15:08 PG_VERSION
drwx------   6 alex  admin    204 Jun  2 11:40 base
drwx------  42 alex  admin   1428 Jun  2 14:18 global
drwx------   3 alex  admin    102 Jun  1 15:08 pg_clog
-rw-------   1 alex  admin   4465 Jun  2 10:58 pg_hba.conf
-rw-------   1 alex  admin   1636 Jun  1 15:08 pg_ident.conf
drwx------   4 alex  admin    136 Jun  1 15:08 pg_multixact
drwx------   3 alex  admin    102 Jun  1 18:24 pg_notify
drwx------   2 alex  admin     68 Jun  1 15:08 pg_serial
drwx------   2 alex  admin     68 Jun  1 15:08 pg_snapshots
drwx------   7 alex  admin    238 Jun  2 21:23 pg_stat
drwx------   2 alex  admin     68 Jun  2 21:23 pg_stat_tmp
drwx------   3 alex  admin    102 Jun  1 15:08 pg_subtrans
drwx------   2 alex  admin     68 Jun  1 15:08 pg_tblspc
drwx------   2 alex  admin     68 Jun  1 15:08 pg_twophase
drwx------   4 alex  admin    136 Jun  1 15:08 pg_xlog
-rw-------   1 alex  admin  20571 Jun  1 15:08 postgresql.conf
-rw-------   1 alex  admin     79 Jun  1 18:24 postmaster.opts
-rw-------   1 alex  admin   1482 Jun  2 21:23 server.log

/Library中,没有标题为PostgreSQL或其他内容的内容。

我如何找到它?

更新

$ sudo chown -R _postgres /usr/local/var/postgres
$ ls -ld /usr/local/var/postgres
drwx------  21 _postgres  admin  714 Jun  2 21:23 /usr/local/var/postgres

#################

$ sudo -u _postgres pg_ctl -D /usr/local/var/postgres -w start
could not identify current directory: Permission denied
pg_ctl: could not open PID file "/usr/local/var/postgres/postmaster.pid": Permission denied

$ ls -al /usr/local/var/postgres/postmaster.pid
ls: /usr/local/var/postgres/postmaster.pid: Permission denied

$ sudo ls -al /usr/local/var/postgres/postmaster.pid
ls: /usr/local/var/postgres/postmaster.pid: No such file or directory

1 个答案:

答案 0 :(得分:3)

pg_ctl没有查看当前目录中的datadir。您必须使用PGDATA env var或-D命令行参数指定它。

启动:

sudo -u postgres pg_ctl -D /usr/local/var/postgres -w start

但是,您应该将其设置为开始使用launchd。 AFAIK,它包含在Homebrew文档中。