macos - pg_dump - start postgresql mac
Postgres caseros rotos (7)
Instalé Postgresql 9.4.0 instalado en mi Mac (10.10.1 / Yosemite) usando homebrew. No funciona.
He creado el enlace suave a /usr/local/opt/postgresql/homebrew.mxcl.postgresql.plist en ~ / Library / LaunchAgents.
Si intento cargar postgres manualmente, recibo el mensaje de que "La operación está en progreso"
> launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
/usr/local/Cellar/postgresql/9.4.0/homebrew.mxcl.postgresql.plist: Operation already in progress
Sin embargo, postgres no parece estar ejecutándose.
> ps auxw | grep post
billmcn 670 0.0 0.0 2424272 452 s000 R+ 10:12PM 0:00.01 grep post
y no puedo conectarme con el cliente de línea de comando.
> psql
psql: 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"?
Que yo sepa, he intentado todas las correcciones sugeridas en other hilos de Stackoverflow tratan este problema. Específicamente:
- He desinstalado y reinstalado Postgres y la gema Ruby que lo acompaña. No hay una versión postgres 8.0 en mi máquina.
- He verificado que el programa cliente psql es la versión 9.4.0 instalada por Homebrew y no un sistema binario de Mac.
- He verificado que /usr/local/var/postgres/postmaster.pid no existe.
- He reiniciado la máquina.
Tenía postgres de Homebrew trabajando en esta máquina anteriormente. Creo que lo que rompió es la actualización de la versión 8 a la versión 9, pero no estoy seguro.
No tengo ninguna base de datos que deba preservar. Estoy dispuesto a comenzar limpio con postgres; Solo necesito que funcione ahora. ¿Algunas ideas?
El problema parece haber sido los permisos en el directorio / usr / local / var / postgres. Así es como se veía mi directorio var cuando las cosas no funcionaban.
ll /usr/local/var/
drwxr-xr-x 3 billmcn admin 102 Dec 20 12:44 cache
drwxr--r-- 2 root admin 68 Dec 29 21:37 postgres
(whoami = "billmcn")
Eliminé / usr / local / var / postgres, desinstalé y reinstalé postgres, y ahora se ve así.
ll /usr/local/var/
drwxr-xr-x 3 billmcn admin 102 Dec 20 12:44 cache
drwx------ 23 billmcn admin 782 Dec 30 10:51 postgres
No estoy seguro de cómo llegó a este estado porque no recuerdo haber perdido los permisos en este directorio, pero no importa. Ahora funciona.
Después de intentar instalar postgresql con Homebrew, obtuve esto:
Warning: postgresql-9.5.2 already installed, it''s just not linked
Entonces intenté:
brew link postgresql
Y obtuve este error:
Linking /usr/local/Cellar/postgresql/9.5.2...
Error: Could not symlink share/man/man3/SPI_connect.3
/usr/local/share/man/man3 is not writable.
Parecía ser un asunto de permiso de escritura, así que hice:
sudo chown -R `whoami` /usr/local/share/man/
Hizo el truco porque, luego pude hacer (sin error):
brew link postgresql
En caso de que alguien haya actualizado desde una versión anterior, no olvide:
brew postgresql-upgrade-database
Eso resolverá el problema actualizando sus bases de datos existentes a la versión a la que actualizó postgres.
Para la posteridad, tuve este problema y quería notar lo que funcionó para mí.
Estoy ejecutando postgres 11.2 en High Sierra.
Recientemente me actualicé desde postgres 10 con
brew postgresql-upgrade-database
.
Seguí recibiendo el error
psql: could not connect to server: No such file or directory
, y mi server.log indicado
is another postmaster (PID 5894) running in data directory "/usr/local/var/postgres"?
Intenté varias soluciones, incluido el reinicio de mi computadora, la eliminación de
postmaster.pid
, el uso de
brew services restart postgres
, pero fue en vano.
Finalmente me topé con la solución:
brew unlink postgresql && brew link postgresql
No tengo idea de por qué funcionó, ¡pero ponerlo aquí principalmente para que pueda hacer referencia a mí mismo en el futuro! ¡Tira cosas a la pared hasta que se pegue!
Tenga en cuenta que hay un hilo en el github de Homebrew que trata este problema: https://github.com/Homebrew/homebrew/issues/35240
He tenido un problema similar La respuesta de James me ayudó a resolverlo. Pero luego me encontré con el problema que menciona jbk (después de haber eliminado / usr / local / var / postgres, siguió siendo recreado).
El problema es que si ha creado el enlace simbólico:
ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents
y lanzó el proceso:
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
primero debes descargarlo:
launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
antes de ejecutar los comandos de James.
rm -rf /usr/local/var/postgres # in case this is not your first try
mkdir /usr/local/var/postgres
chmod 0700 /usr/local/var/postgres
Además, si, como yo, tiene un usuario administrador que administra homebrew y un usuario normal que utilizará pgsl para fines de desarrollo, el comando James debe ejecutarse como superusuario:
sudo -s
y la propiedad sobre el directorio postgres se debe otorgar a su usuario desarrollador:
chown my-dev-user /usr/local/var/postgres
El siguiente comando, que se ejecuta como usuario dev, debe llenar el directorio correctamente:
createdb `whoami`
Corriendo:
psql -l
debería mostrarle las tablas y los permisos de usuario en postgre después de tales manipulaciones.
Espero que esto ayude.
Tuve el mismo problema al instalar postgres usando homebrew en un Yosemite recién instalado.
Primero, mi configuración de preparación se ve así:
HOMEBREW_VERSION: 0.9.5
ORIGIN: https://github.com/Homebrew/homebrew
HEAD: 9f6926265f8e4be7cc80dfe9042f2cd3c1e8dc9e
Last commit: 64 minutes ago
HOMEBREW_PREFIX: /usr/local
HOMEBREW_CELLAR: /usr/local/Cellar
CPU: quad-core 64-bit sandybridge
OS X: 10.10.1-x86_64
Xcode: 6.1.1
Clang: 6.0 build 600
X11: N/A
System Ruby: 2.0.0-481
Perl: /usr/bin/perl
Python: /usr/bin/python
Ruby: ~/.rvm/rubies/ruby-2.1.1/bin/ruby
Lo primero que noté fue que no tenía permiso de escritura para
/usr/local/var/postgres
.
Esto se cambió fácilmente emitiendo
sudo chown -R `whoami` /usr/local/var/postgres
luego reinstalé postgresql e hice
cat /usr/local/var/postgres/server.log
que reveló:
postgres cannot access the server configuration file "/usr/local/var/postgres/postgresql.conf": No such file or directory
Así que eliminé el directorio
/usr/local/var/postgres
y
/usr/local/var/postgres
el comando para inicializar la base de datos.
initdb -D /usr/local/var/postgres/
Esto pareció haber funcionado y Postgres está funcionando bien.
Verifique @leo_chaz_maltrait para corregir los errores. El error
Could not symlink share/man/man3/SPI_connect.3
Otro error que podría aparecer es:
Error: Could not symlink lib/pkgconfig/libecpg.pc
sudo chown -R `whoami` /usr/local/lib/pkgconfig
brew link postgresql
Yo tuve el mísmo problema. El problema principal aquí es que el paso de instalación initdb creará el directorio con propiedad de root en lugar de como el usuario en una Mac. Para resolver este problema:
Cree el directorio de datos antes de ejecutar
initdb
y establezca permisos de 0700
rm -rf /usr/local/var/postgres # in case this is not your first try
mkdir /usr/local/var/postgres
chmod 0700 /usr/local/var/postgres
Luego ejecute
initdb
y respetará los permisos del directorio de datos.
initdb -D /usr/local/var/postgres
Para sonrisas y risas, cree una base de datos de prueba con el nombre de su usuario:
createdb `whoami`
Inicie sesión para probar:
psql