Muy buenas, me llamo Luis y en esta ocasión les traigo un nuevo post.
Como un página web oficial dice, PostgreSQL es un potente sistema de base de datos relacional de objetos de código abierto. Las principales ventajas de usar PostgreSQL son bastante obvias: si desea implementar su increíble proyecto en la web a través de Heroku, será mejor que lo uses.
Sin embargo, puede ser realmente difícil hacer que PostgreSQL funcione. Probé varias formas de instalar PostgreSQL (a través de descarga directa, gemas, etc.) pero seguí recibiendo este error al intentar iniciar mi base de datos.
FATAL: password authentication failed for user "username" Couldn't create 'new_app' database. Please check your configuration. rails aborted!
Busqué en el desbordamiento de la pila, pero todas las recomendaciones que probé no funcionaron para mí. Finalmente, me encontré con este tutorial eso fue realmente útil. Déjame guiarte a través de él y mostrarte qué otros errores tengo.
Índice
Paso 0: desinstalar el PostgreSQL existente
Si ha intentado instalar PostgreSQL y no ha tenido éxito, lo primero que debe hacer es eliminarlo de su máquina local y desinstalar la gema.
$ gem uninstall pg $ brew uninstall postgresql
¡A veces, este pequeño paso soluciona todos los problemas que encuentra!
Paso 1: instale PostgreSQL y verifique qué versión tiene
brew update brew install postgresql
Después de eso, asegúrese de que está utilizando la última versión de PostgreSQL para evitar más errores.
postgres --version
A tener en cuenta: al margen: Homebrew Se recomienda encarecidamente el paquete para instalar y administrar aplicaciones en MacOS. Aquí hay un comando de instalación.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
Paso 2: crea una base de datos en tu disco duro
Como regla general, una base de datos en su disco duro se crea automáticamente pero, solo para asegurarse, ejecute este comando:
initdb /usr/local/var/postgres
Si se creó la base de datos, verá el siguiente mensaje de error: «initdb: directorio» / usr / local / var / postgres «existe pero no está vacío»
Paso 3: inicie su base de datos PostgreSQL
Puede iniciar manualmente el servidor de la base de datos con este comando:
pg_ctl -D /usr/local/var/postgres start
La terminal debería enviarle una respuesta: «servidor iniciado».
¡Y aquí tengo otro error!
Parece que se está ejecutando otra base de datos en el puerto que me gustaría usar. Traté de detener la base de datos y luego reiniciar, pero no ayudó. Por cierto, para detener la base de datos puede usar este comando.
pg_ctl -D /usr/local/var/postgres stop
Entonces, la única forma que quedaba es matar a esta bestia. Quiero decir, el puerto.
Solía
sudo pkill -u postgres
Que en realidad no se recomienda porque no ve qué puerto está matando. Como descubrí más tarde, una mejor práctica es usar lsof -wni tcp:5432.
Los últimos cuatro dígitos son el número del puerto que está dispuesto a eliminar.
De todos modos, ¡funcionó perfectamente! Como puede ver a continuación, finalmente se inició mi base de datos. ¡Hurra!
Paso 4: configurar una base de datos para su aplicación
Ahora, cuando su base de datos esté encendida, continúe y pueda ejecutar el clásico:
rails new <my-project> --api -T --database=postgresql rails db:create rails db:migrate rails db:seed
Paso 5: ¡Siempre revisa tu migración!
Fuente:
- Sitio web oficial de PostreSQL
- El mejor tutorial para instalar PostgreSQL en MacOS
- No se pudo abrir en el puerto 5432
Añadir comentario