¿Cómo puedo iniciar el servidor PostgreSQL en Mac OS X?
Actualización final:
Me había olvidado de ejecutar el initdb
comando.
Al ejecutar este comando
ps auxwww | grep postgres
veo que postgres
no esta funcionando
> ps auxwww | grep postgres
remcat 1789 0.0 0.0 2434892 480 s000 R+ 11:28PM 0:00.00 grep postgres
Esto plantea la pregunta:
¿Cómo inicio el servidor PostgreSQL?
Actualizar:
> 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
Actualización 2:
El toque no tuvo éxito, así que hice esto en su lugar:
> mkdir /usr/local/var/postgres
> vi /usr/local/var/postgres/server.log
> ls /usr/local/var/postgres/
server.log
Pero cuando intento iniciar el servidor Ruby on Rails, sigo viendo esto:
¿El servidor se ejecuta en el host "localhost" y acepta conexiones TCP/IP en el puerto 5432?
Actualización 3:
> pg_ctl -D /usr/local/var/postgres status
pg_ctl: no server running
Actualización 4:
Descubrí que no había ningún archivo pg_hba.conf (solo el archivo pg_hba.conf.sample ), así que modifiqué la muestra y le cambié el nombre (para eliminar el .sample). Aquí están los contenidos:
# IPv4 local connections:
host all all 127.0.0.1/32 trust
# IPv6 local connections:
host all all ::1/128 trust
Pero no entiendo esto:
> 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
También:
sudo find / -name postgresql.conf
find: /dev/fd/3: Not a directory
find: /dev/fd/4: Not a directory
Actualización 5:
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.
Actualización 6:
Esto parece extraño:
> egrep 'listen|port' /usr/local/var/postgres/postgresql.conf
egrep: /usr/local/var/postgres/postgresql.conf: No such file or directory
Aunque hice esto:
>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
Entonces hice esto:
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
Entonces probé esto:
> 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
Sigo recibiendo el mismo mensaje "¿Está funcionando el servidor?" mensaje.
El administrador de paquetes Homebrew incluye listas launchctl para iniciarse automáticamente. Para obtener más información, ejecute brew info postgres
.
Empezar manualmente
pg_ctl -D /usr/local/var/postgres start
Detener manualmente
pg_ctl -D /usr/local/var/postgres stop
Iniciar automáticamente
"Para iniciar postgresql ahora y reiniciar al iniciar sesión:"
brew services start postgresql
¿ Cuál es el resultado de pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
?
¿ Cuál es el resultado de pg_ctl -D /usr/local/var/postgres status
?
¿Hay algún mensaje de error en server.log?
Asegúrese de que las conexiones tcp localhost estén habilitadas en pg_hba.conf:
# IPv4 local connections:
host all all 127.0.0.1/32 trust
Verifique las direcciones de escucha y el puerto en 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)
Limpiar
Lo más probable es que PostgreSQL se haya instalado a través de Homebrew , Fink , MacPorts o el instalador EnterpriseDB .
Verifique el resultado de los siguientes comandos para determinar con qué administrador de paquetes se instaló:
brew && brew list|grep postgres
fink && fink list|grep postgres
port && port installed|grep postgres
Si desea iniciar y detener manualmente PostgreSQL (instalado a través de Homebrew ), la forma más sencilla es:
brew services start postgresql
y
brew services stop postgresql
Si tiene una versión específica, asegúrese de agregar el sufijo a la versión. Por ejemplo:
brew services start postgresql@10
Tuve casi exactamente el mismo problema y usted citó el comando initdb como la solución. Esta también fue la solución para mí, pero no vi que nadie la publicara aquí, así que para aquellos que la estén buscando:
initdb /usr/local/var/postgres -E utf8