Posted By: Anonymous
I had forgotten to run the
By running this command
ps auxwww | grep postgres
I see that
postgres is not running
> ps auxwww | grep postgres remcat 1789 0.0 0.0 2434892 480 s000 R+ 11:28PM 0:00.00 grep postgres
This raises the question:
How do I start the PostgreSQL server?
> pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start server starting sh: /usr/local/var/postgres/server.log: No such file or directory
The touch was not successful, so I did this instead:
> mkdir /usr/local/var/postgres > vi /usr/local/var/postgres/server.log > ls /usr/local/var/postgres/ server.log
But when I try to start the Ruby on Rails server, I still see this:
Is the server running on host "localhost" and accepting
TCP/IP connections on port 5432?
> pg_ctl -D /usr/local/var/postgres status pg_ctl: no server running
I found that there wasn’t any pg_hba.conf file (only file pg_hba.conf.sample), so I modified the sample and renamed it (to remover the .sample). Here are the contents:
# IPv4 local connections: host all all 127.0.0.1/32 trust # IPv6 local connections: host all all ::1/128 trust
But I don’t understand this:
> pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start server starting > pg_ctl -D /usr/local/var/postgres status pg_ctl: no server running
sudo find / -name postgresql.conf find: /dev/fd/3: Not a directory find: /dev/fd/4: Not a directory
sudo pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start Password: pg_ctl: cannot be run as root Please log in (using, e.g., "su") as the (unprivileged) user that will own the server process.
This seems odd:
> egrep 'listen|port' /usr/local/var/postgres/postgresql.conf egrep: /usr/local/var/postgres/postgresql.conf: No such file or directory
Though, I did do this:
>sudo find / -name "*postgresql.conf*" find: /dev/fd/3: Not a directory find: /dev/fd/4: Not a directory /usr/local/Cellar/postgresql/9.0.4/share/postgresql/postgresql.conf.sample /usr/share/postgresql/postgresql.conf.sample
So I did this:
egrep 'listen|port' /usr/local/Cellar/postgresql/9.0.4/share/postgresql/postgresql.conf.sample #listen_addresses = 'localhost' # what IP address(es) to listen on; #port = 5432 # (change requires restart) # supported by the operating system: # %r = remote host and port
So I tried this:
> cp /usr/local/Cellar/postgresql/9.0.4/share/postgresql/postgresql.conf.sample /usr/local/Cellar/postgresql/9.0.4/share/postgresql/postgresql.conf > cp /usr/share/postgresql/postgresql.conf.sample /usr/share/postgresql/postgresql.conf
I am still getting the same "Is the server running?" message.
The Homebrew package manager includes launchctl plists to start automatically. For more information, run
brew info postgres.
pg_ctl -D /usr/local/var/postgres start
pg_ctl -D /usr/local/var/postgres stop
"To have launchd start postgresql now and restart at login:"
brew services start postgresql
What is the result of
pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start?
What is the result of
pg_ctl -D /usr/local/var/postgres status?
Are there any error messages in the server.log?
Make sure tcp localhost connections are enabled in pg_hba.conf:
# IPv4 local connections: host all all 127.0.0.1/32 trust
Check the listen_addresses and port in postgresql.conf:
egrep 'listen|port' /usr/local/var/postgres/postgresql.conf
#listen_addresses = 'localhost' # What IP address(es) to listen on; #port = 5432 # (change requires restart)
Check the output of the following commands to determine which package manager it was installed with:
brew && brew list|grep postgres fink && fink list|grep postgres port && port installed|grep postgres