Después de reiniciar mi MacBook Pro, no puedo iniciar el servidor de la base de datos:
could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
Revisé los registros y la siguiente línea aparece una y otra vez:
FATAL: database files are incompatible with server
DETAIL: The data directory was initialized by PostgreSQL version 9.2, which is not compatible with this version 9.0.4.
9.0.4 fue la versión que vino preinstalada en la Mac, 9.2 [.4] es la versión que instalé a través de Homebrew. Como se mencionó, esto solía funcionar antes del reinicio, por lo que en realidad no puede ser un problema de compilación. También volví a ejecutar initdb /usr/local/var/postgres -E utf8
y el archivo todavía existe.
Desafortunadamente, soy bastante nuevo en Postgres, por lo que cualquier ayuda sería muy apreciada.
macos
postgresql
homebrew
klaffenboeck
fuente
fuente
pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
- y la respuesta esserver starting
pg_ctl
, estoy bastante seguro de que encontrará 2 copias. Y el que coincidawhich pg_ctl
será la versión anterior, y el otro será la nueva versión.pg_ctl --version
dapg_ctl (PostgreSQL) 9.2.4
Server.app
y lo han ocultado para usar un puerto no predeterminado y un directorio de socket Unix. ¡Finalmente!Respuestas:
Si recientemente actualizó a 11 o 12 desde 10.x , puede ejecutar el siguiente comando para actualizar su directorio de datos postgres que retiene todos los datos:
El comando anterior se toma de la salida de
brew info postgres
fuente
brew postgresql-upgrade-database
luego reiniciar postgresbrew info
.Si está buscando la opción nuclear (elimine todos los datos y obtenga una nueva base de datos), puede hacer lo siguiente:
rm -rf /usr/local/var/postgres && initdb /usr/local/var/postgres -E utf8
y luego necesitará desde
rake db:setup
yrake db:migrate
hacia su aplicación Rails para volver a configurarlo.fuente
createuser -s your_rails_app
para crear el usuario postgres de los rieles. Ver stackoverflow.com/questions/11919391/…Pruebe esto: https://gist.github.com/joho/3735740
Funcionó perfectamente para mí. Al final, también genera 2 scripts de bash para verificar su base de datos y eliminar el clúster anterior. Realmente asombroso.
ver: http://www.postgresql.org/docs/9.2/static/pgupgrade.html para entender más.
fuente
Encontrado en internet, esta solución funciona bien para mí.
Cuando intenté iniciar el servidor postgresql después de actualizar a OS X 10.10 Yosemite, me encontré con un siguiente problema:
pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
Bien, echemos un vistazo a los registros del servidor:
cat /usr/local/var/postgres/server.log
Por lo tanto, debemos seguir algunos pasos después de la actualización postgresql:
Eso es.
fuente
Si desea conservar la versión anterior de postgres, use
brew switch
:De lo contrario, considere este comando cerveza para migrar los datos existentes:
brew postgresql-upgrade-database
. Mira el código fuente .fuente
Me ocurrió cuando estaba tratando de iniciar Postgres12 con el volumen montado postgres11. Simplemente eliminar el volumen montado para postgres11 y reiniciar funcionó para mí.
Anteriormente estaba usando:
Eliminé / Users / champ / postgres y reinicié postgres 12, usando
fuente