Reputation: 34884
I hava PostgreSQL 9.3 installed by homebrew in Mac OS X 10.9.3. When I first installed it, it worked well. After reboot it happened to be not launched and I don’t know how to launch by pg_ctl
it because I can't find out what its data directory is:
$ 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
In /Library
there is nothing titled PostgreSQL
or something.
How do I find it out?
UPDATE:
$ 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
Upvotes: 2
Views: 3931
Reputation: 324375
pg_ctl
doesn't look in the current directory for the datadir. You have to specify it with the PGDATA
env var or the -D
command line argument.
To launch:
sudo -u postgres pg_ctl -D /usr/local/var/postgres -w start
however, you should really set it up to start using launchd
. AFAIK it's covered in the Homebrew documentation.
Upvotes: 4