Posts Tagged PostgreSQL
Rails 3.1 on Heroku, TLDR Version
Posted by John in Ruby and Rails on December 13, 2011
Create the app
- If not installed, install PostgreSQL
rails new app_name -T -d=postgresqlcd app_name/rvm --create --rvmrc 1.9.2@app_namervm rvmrc trust- Edit .Gemfile
bundle installcreateuser -P -S -R -d app_name(no to ‘Superuser’ and ‘Create roles’, yes to ‘Create databases’)rake db:create- Create procfile in app root.
foreman startand check http://0.0.0.0:5000/
Push to Github
- Edit .gitignore
git flow initgit add .git commit -m 'Project skeleton'- Create app_name on Github
git remote add origin git@github.com:JohnPlummer/app_name.gitgit push -u origin developgit push -u origin master
Push to Heroku
heroku create app-name --stack cedargit flow release start '0.0.1'git flow release finish '0.0.1'git push --allgit push heroku masterheroku run rake db:seedheroku open
Installing Postgresql and pgAdmin
Posted by John in Ruby and Rails on December 6, 2011
The default database for Heroku is PostgreSQL and, while you could use SQLite for development and Postgres for production, there are some inconsistencies between the two. Ideally you would use the same version of the database server but currently Heroku uses version 9 for dedicated databases and 8.3 for shared databases and seem to recommend you install the latest version for development.
Install Postgres with Homebrew with brew install postgresql and follow the instructions after the install to initialise a database.
initdb /usr/local/var/postgres
The database server can be set to start at login with
mkdir -p ~/Library/LaunchAgents
cp /usr/local/Cellar/postgresql/9.1.1/org.postgresql.postgres.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/org.postgresql.postgres.plist
But I prefer to add aliases to .bashrc to start and stop the server:
alias pgs='pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start'
alias pgq='pg_ctl -D /usr/local/var/postgres stop -s -m fast'
Postgres can be managed with the command line utility psql but, as much as I like the command line, I don’t really want to have to write SQL to edit or remove a user role. PgAdmin is a free GUI for Postgres management. Once installed, ensure the Postgres server is running then run pgAdmin and connect to the server.
In the server properties add a name for the connection and add your login as the username.

pgAdmin provides the management tools you would expect.
