Gotten to databases portion of deploying C9 to heroku but I keep running int othis error. Postgresql is already installed on cloud9 but I'm having trouble. I get this error when I run "postgresql" into terminal
ryanreese09#codefund:~/workspace/ruby-getting-started (master) $ psql
ry Is the server running locally and accepting connections on Unix
domain socket "/var/run/postgresql/.s.PGSQL.5432"?
https://devcenter.heroku.com/articles/getting-started-with-ruby#declare-app-dependencies
I haven't run bundle install since the postgresql command didn't work. It's not running. Would anyone be willing to getthrown on my workspace as a member and help? I've been messing with this all weekend. All the various threads I've search on here don't quite help. The don't help with getting the sockets set up. Please don't flame. I'm new.
EDIT- Ruby on Rails: How can i edit database.yml for postgresql?
Changed my database.yml file but literally nothing changed. So I reverted it back to the default database.yml file for now (that came with installation)
$ sudo service postgresql start
Related
I'm trying to create a new record through the rails console but I'm getting the following error:
PG::ConnectionBad: FATAL: database "my_database_development" does not exist
I've recently changed from Sqlite3 to PG to be able to deploy to Heroku. Is this what is giving the error?
Thanks a lot!
It looks like you have not yet run
rake db:create
This will "create" the databases on your PostgreSQL server. A step that you didn't have to do with SQLite, but Postgres requires it. As TK-421 said, make sure that your database.yml is configured for your OS and Postgres, not SQLite.
Here is a (possibly outdated) Railscast on the topic.
http://railscasts.com/episodes/342-migrating-to-postgresql
Is this running locally, or on Heroku? In config/database.yml, the local user you specify will need to have CREATEDB privileges (as a superuser, for example).
There's a little more configuration required in this case than for SQLite. Google will show you a bunch of tutorials specific to your OS.
If you see this problem in production on heroku, start the console like this:
rails console production
If you have that problem in development on your machine, check your config/database.yml. It is points to a local development database that does not exist.
I'm currently evaluating Nitrous.io and liking what I'm seeing so far. I've currently got a few databases for testing and development running on Heroku's hosted Postgresql service as well. I'm running into some issues when running tests though, and I'm hoping somewhere here may have a solution.
When I run rake db:test:prepare I'm getting the error:
FATAL: permission denied for database "postgres"
DETAIL: User does not have CONNECT privilege.
From what I've read elsewhere, that's trying to DROP the database, but Heroku's hosted databases don't allow that. Does anyone out there know how to run Rails tests on Heroku's Postgresql?
Nitrous.IO has released a package manager which will allow you to install Postgres within your Nitrous box. This can be used for your test database as well as your development database if needed:
https://github.com/action-io/autoparts
This also requires that you are using a Nitrous box is running version "bran" or later (see README). You may need to terminate/create a new box if you are running on version "arya".
To use autoparts, run parts search to see all of the packages available.
To install postgresql within the Nitrous box, run the following command:
parts install postgresql
Make sure that your config/database.yml file explicitly sets host: localhost for each database you wish to connect to, or else the pg adapter will fail to find the socket it needs to connect to.
According to the Heroku docs, you need to use "heroku pg:reset" in your rake task.
https://devcenter.heroku.com/articles/rake
Attempting to get Rails running with postgresql on mac osx 10.8 to deploy to heroku. I'm new to mac's.
Had lots of trouble just getting PostgrSQL installed so I could have botched up something trying all the potential solutions I could find searching on that subject. Which mainly appeared to be permissions and existing OSX installation. for this issue I'm noticing some things that make me think there is some fundamental directory or version conflict that I'm not sure how to resolve yet. But I could be wrong and it is something else! Any direction is appreciated.
retrieving an error such as this:
$ rake db:create:all
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"?
I'm not sure where and why it's looking for the var directory but ~/var appears to be a link (alias) to /private/var (which has empty pgsql_socket & pgsql_socket_alt directories), /usr/local/var doesn't have pgsql_socket directory but does have a postgres directory. both of those directories my admin user has read & write permission from the finder get info dialog.
The above error shown is followed by a long stack in the gems 1.8 directory and finishes with this:
Couldn't create database for {"pool"=>5, "database"=>"blog_development", "password"=>nil, "username"=>"USERNAME", "encoding"=>"unicode", "adapter"=>"postgresql"}
so checking:
$ which psql
/usr/bin/psql
i do remember after installing postgresql i did this:
initdb /usr/local/var/postgres -E utf8
Confirmed:
$ ps aux | grep postgres
username 346 0.0 0.1 2479616 7724 ?? S 3:08PM 0:00.03 /usr/local/bin/postgres -D /usr/local/var/postgres -r /usr/local/var/postgres/server.log
bundle show yields: pg (0.14.1)
$ postgres --version
postgres (PostgreSQL) 9.2.1
echo $PATH does not show any reference to posgresql.
this app is in a /Users/USERNAME/SUBDIR/APP.
Andy ideas on where i've messed up and how i can get this stuff up and running? I'd appreciate any direction. I'll keep working through stack overflow and google discussions; although my stupidity may be unique!
Thanks.
Add
host: localhost
to database.yml
I was following the ruby on rails tutorial to run with postgres but when I try the "rake db:create" I get the following error:
could not connect to server: Permission denied
Is the server running locally and accepting
connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"?
I have found this question issuing some similar problem but I couldnt make it work anyway.
Repairing Postgresql after upgrading to OSX 10.7 Lion
I have installed homebrew after reading this question and the path is fine, brew doctor shows me no errors on path.
Instead of troubleshooting your socket file permissions, you could try a TCP connection. Add host: localhost to your config/database.yml. Of course, this will only work if postgres is listening for TCP traffic. Postgres listens on port 5432 by default, so netstat -an | grep 5432 will tell you if it is listening.
References
PostgreSQL Documentation: 18.3. Connections and Authentication.
Oh, may be you are open postgre in another application, like pgadmin http://www.pgadmin.org/
Try to close any application that use postgre SQL and run your command again.
I ran into the same problem today and found this blog post below which helped me:
http://nextmarvel.net/blog/2011/09/brew-install-postgresql-on-os-x-lion/
It moves your OS X default postgres binaries into an archive folder and symlinks the homebrew versions in place of them.
TL;DR
curl http://nextmarvel.net/blog/downloads/fixBrewLionPostgres.sh | sh
I had the same issue. After unsuccessfully trying all the suggestions posted above, I finally quit out of terminal and restarted it.
This worked.
Just check if your config/database.yml has------host: localhost and port: (check for yourself by netstat -an | grep 5432 or 5433)
I also ran into this problem because I had both the mysql and pg gems active in my Gemfile.
I commented out the mysql gem:
# mysql
Then ran:
bundle install
and then:
rake db:migrate
and it worked like a charm.
I am running rake db:setup on my server, and I am getting:
Can't connect to local MySQL server through socket '/tmp/mysql.sock'
(I added RAILS_ENV=production)
This is on a ubuntu, nginx, passenger, mysql setup.
Either MySQL isn't running, or it's not configured to put the sock-file in the right place. Run something like ps aux | grep mysql to check if it's running. If it's running and the error persists, check if the file /tmp/mysql.sock exists. You can configure it in /etc/mysql/my.cnf
On my ubuntu machine its configured to /var/run/mysqld/mysqld.sock. Either change your mysql settings, or change config/database.yml in your Rails app.
I had this issue and after trying everything I discovered that this occurs if you install mysql after you have installed rails.
Reinstalling rails solved the issue for me.
Of course this advice is only relevant if iain's answer doesn't solve your issue ;-)
If you dont have the file /tmp/mysql.sock, create a symlink to the actual socket file. You will have to locate it first, but mine was here:
/etc/mysql/my.cnf
That should fix it, as long as mysql is actually installed and running, check using this:
ps aux | grep mysql
I changed the sockets in /etc/mysql/my.cnf, then it worked fine.