macos - pg_dump - postgresql download
No se puede ejecutar el comando psql, sigue obteniendo el mismo error (18)
El problema clave es que su postgresql estaba tratando de encontrar el libreadline.6.2.dylib
pero su línea de readline
es la versión 7.0
, por lo que solo lib de 7 está vinculado.
No creo que actualizar postgresql sea una buena idea, no es fácil y puede causar muchos problemas, especialmente cuando ya tienes datos de la base de datos.
Lo que hago, es cambiar la versión de readline
. Cuando revise la brew info readline
, encontrará diferentes versiones, la mía es 6.3.8
, así que me cambio a esa versión ejecutando:
$ brew switch readline 6.3.8
Cambiará a 6.3.8 y creará el enlace:
Cleaning /usr/local/Cellar/readline/6.3.8
Cleaning /usr/local/Cellar/readline/7.0.1
Opt link created for /usr/local/Cellar/readline/6.3.8
En este caso, toda la lib enlazada se convierte en la versión 6, y la línea de comandos funciona:
$ ls /usr/local/opt/readline/lib/
libhistory.6.2.dylib libhistory.dylib libreadline.a
libhistory.6.3.dylib libreadline.6.2.dylib libreadline.dylib
libhistory.6.dylib libreadline.6.3.dylib
libhistory.a libreadline.6.dylib
Sin embargo, si tiene diferentes aplicaciones que usan versiones diferentes de readline, creo que debería considerar la actualización.
Acabo de instalar posgresql con homebrew y cuando paso a escribir el comando
psql
Obtuve el siguiente error:
dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.6.2.dylib
Referenced from: /usr/local/bin/psql
Reason: image not found
[1] 69711 trace trap psql
¿Alguien tiene alguna idea sobre lo que está mal?
En mi caso, la respuesta correcta no solucionó el problema.
El problema comenzó después de ejecutar brew doctor
y agregar export PATH="/usr/local/bin:$PATH"
a mi archivo ~ / .zshrc.
Eliminando
export PATH="/usr/local/bin:$PATH"
de ~/.zshrc
lo resolvió.
Es posible que desee comprobar si tiene algo más enlazado a postgresql
. Anteriormente, me había vinculado al paquete postgres93 , que, a partir de mayo de 2017, no está admitido y se ha eliminado. Eliminar ese enlace y luego volver a vincular funcionó para mí:
brew unlink postgresql93
brew link postgresql
Esto me ha ayudado: desinstalar todo readline y postgresql
exportar CPPFLAGS = -I / usr / local / opt / readline / include export LDFLAGS = -L / usr / local / opt / readline / lib
e instalar posqtgresql
Intenté todas las respuestas de las vistas previas, y nada funcionó. Lo único que realmente funcionó para mí fue:
brew link postgresql
Intenté todos estos comandos de terminal y nada funcionó, así que decidí arreglarlo manualmente.
Abrir el buscador y presionar el comando + shift + g
Go to this folder /usr/local/opt/readline/lib/
deberías ver múltiples versiones de estos archivos
libreadline.6.dylib
libreadline.7.0.dylib
cambie el nombre de cualquiera de ellos a la biblioteca que no esté cargada
this is: /usr/local/opt/readline/lib/libreadline.6.2.dylib
mine was: /usr/local/opt/readline/lib/libreadline.6.dylib
La respuesta anterior no funcionó para mí, así que quise publicar lo que finalmente funcionó. Basado en un hilo que encontré here , tuve que desinstalar Readline e instalarlo de nuevo, pero desde el origen.
brew uninstall readline
brew install --build-from-source readline
Después de eso, el error psql desapareció.
La solución es forzar la vinculación de readline nuevamente.
brew remove readline
brew install readline
brew link readline --force
Ninguna de esas soluciones funcionó para mí; Tuve que correr:
brew upgrade bash
desde: https://github.com/Homebrew/homebrew-core/issues/5799
Obtuve exactamente el mismo error, pero las respuestas anteriores no funcionaron para mí. Tuve que reinstalar postgresql.
brew reinstall postgresql
Otra forma de arreglar psql es actualizar postgresql simplemente ejecutando brew upgrade postgresql
ya que la última versión usará la versión readline 7.
Podrías probar brew doctor
y ver qué dice.
Posiblemente todo lo que necesitas es brew link --overwrite bash
.
Para mí, acabo de actualizar brew porque OS X EL Capitan tenía una actualización de seguridad que afecta a mi carpeta /usr
. Durante la actualización de la infusión, el enlace bash se rompió, y esto es lo que el brew doctor
me dice.
Así que solo ejecuto brew link --overwrite bash
y todo está bien.
Si la situación es que usted tiene una versión más alta readline decir 7.0. Puedes hacerlo
cd /usr/local/opt/readline/lib
ln libreadline.7.0.dylib libreadline.6.2.dylib
Si no tiene readline instalada, primero instálela:
brew install readline
Para mí, estaba recibiendo este error, aunque tenía readline instalado. Reinstalar readline hizo el truco:
brew reinstall readline
Tuve este problema cuando actualicé readline a la versión 7 por accidente. Desinstalé readline y brew. Recuérdame que 6.3.8 aún está instalado. Parece que la versión 7 no está funcionando con PSQL en este momento.
Tuve este problema, y la clave para mí fue reinstall
tanto readline
como postgres
. Una vez que se reinstaló Postgres, se resolvió el problema.
esto funcionó para mí
ln -s /usr/local/opt/readline/lib/libreadline.7.0.dylib /usr/local/opt/readline/lib/libreadline.6.dylib