ruby-on-rails - new - rails with postgresql tutorial
Adaptador Postgresql(pg): no se pudo conectar al servidor (13)
Acabo de tener el problema de que la aplicación postgres no se estaba ejecutando en mi mac ...
Recibo este error cada vez que ejecuto mi aplicación Rails (No se puede conectar a mi Postgresql local )
/Users/leonardo/.rvm/gems/ruby-1.9.3-p362/gems/activerecord-3.2.11/lib/
active_record/connection_adapters/postgresql_adapter.rb:1208:in `initialize'':
could not connect to server: No such file or directory (PG::Error)
Is the server running locally and accepting
connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"?
Estoy usando Postgres.app que se está ejecutando correctamente.
Si corro
$ psql
Puedo iniciar sesión correctamente en la consola Postgresql.
$ which psql
/Applications/Postgres.app/Contents/MacOS/bin/psql
Gemfile
source ''https://rubygems.org''
ruby "1.9.3"
gem ''rails'', ''3.2.11''
gem "pg"
database.yml
development:
adapter: postgresql
encoding: unicode
username: leonardo
password:
database: zapping
port: 5432
Postgresql (Consola)
$ psql
leonardo=# /l
Dado que esta fue la primera publicación que apareció en mi resultado de búsqueda, he decidido publicar la solución actualizada para esto. Dado que ninguna de las sugerencias anteriores funcionó para mí.
brew postgresql-upgrade-database
Se actualiza la información postgresql y se movió mi versión anterior. Estaba en 9.6 en lugar de 10.4
Encontré la solución here
En Mac, tuve diferentes versiones de postgresql. Este problema ha sido resuelto cuando probé el brew switch postgresql 9.5.5
(no creo que el número de versión importe en este punto)
$ brew switch postgresql 9.5.5
Cleaning /usr/local/Cellar/postgresql/9.6.1
Cleaning /usr/local/Cellar/postgresql/9.6.5
Cleaning /usr/local/Cellar/postgresql/10.2
Cleaning /usr/local/Cellar/postgresql/10.3
Cleaning /usr/local/Cellar/postgresql/9.5.5
Cleaning /usr/local/Cellar/postgresql/9.5.4
Todos los datos se habrán ido, por cierto. Supongo que hay un comando de preparación para hacer esto sin cambiar la versión, que no pude encontrar.
Intente agregar host: localhost
a su database.yml. (Basado en: https://.com/a/10793186/919641 )
Para heroku esto es todo lo que necesitas.
heroku addons:create heroku-postgresql
production:
adapter: postgresql
encoding: unicode
host: localhost
# For details on connection pooling, see rails configuration guide
# http://guides.rubyonrails.org/configuring.html#database-pooling
pool: 5
Si no funciona incluso después de agregar el host: localhost
, elimine postmaster.pid
rm /usr/local/var/postgres/postmaster.pid
Su gema Pg
fue compilada contra el libpq de PostgreSQL preinstalado en Mac OS X y está utilizando el psql
que instaló en una versión más nueva, o viceversa.
Esto puede libpq
especificando una conexión TCP / IP, agregando localhost
a database.yml
, pero es mejor compilar la gema Pg
contra libpq
para el servidor que está ejecutando realmente. Para hacerlo, debe poder establecer la PATH
entorno PATH
en la carpeta con el pg_config
correcto antes de compilar. En tu caso, eso será en algún lugar dentro de Postgres.app
.
Tuve el mismo problema en OS High Sierra 10.13. Seguí las instrucciones de este sitio web. Descargué la versión 10.4 ref: https://postgresapp.com/
Luego agregué esto al perfil de bash: export PATH = $ PATH: /Library/PostgreSQL/10.4/bin: $ PATH
reiniciar la terminal.
Abre el terminal de una nueva ventana y escribe: psql -U postgres
después de eso, verá este mensaje: psql (10.4) Escriba "help" para obtener ayuda.
postgres = #
Tuve el mismo problema en una Mac. Resulta que el psql que tenía en mi camino no estaba funcionando correctamente. Intente iniciar psql escribiendo:
~/projects/some_project/project-rails$ psql
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"?
Si ve esto, indica que el binario psql en su ruta está intentando conectarse utilizando el socket y que no puede hacerlo (por el motivo que sea). Como ya había descargado pgadmin y me estaba conectando bien, sabía que no era un problema con el servidor.
Se solucionó al agregar la versión correcta de pgsql a mi RUTA:
export PATH=/Applications/Postgres.app/Contents/MacOS/bin:$PATH
¡Ahora psql (y rieles) están felices!
Tuve el mismo problema. Tienes que ejecutar / iniciar postgres. Postgres debe haber dejado de ejecutarse en mi computadora recientemente, así que tuve que asegurarme de que se ejecutara al iniciar el servidor postgres
postgres -D /usr/local/var/postgres
Luego, todos los siguientes comandos (que me causaban el mismo error que tu) funcionaron:
bundle exec rake db:create db:migrate
bundle exec rspec
Tuve este problema Uno de los comentarios aquí me ayudó a solucionar el problema.
Gracias, esta respuesta me ayudó a solucionarlo. Los pasos que tomé fueron simples: 1) joya desinstalación pg, 2) paquete de instalación, hecho. - Haslo 3 de diciembre de 2013 a las 20:27
gem uninstall pg
bundle install
buscar / -name ''postgresql.conf''
netstat -an | grep 5432 # => /tmp/.s.PGSQL.5432
vi / Users / admin / Library / Application / Support / Postgres93 / var / postgresql.conf
FROM: unix_socket_directories = ''/ tmp''
TO: unix_socket_directories = ''/ var / pgsql_socket''
sudo mkdir / var / pgsql_socket
sudo chmod 777 / var / pgsql_socket
deberías agregar host: localhost
a tu configuración db ...