In the past, I''ve used mysql with rails without problem. I need to work with postgresql, but I''m having trouble getting it working. I''ve seen conflicting reports on what gems are needed. My latest install was sudo gem install postgres -- --with-pgsql-include-dir=/Library/PostgreSQL8/include --with-pgsql-lib-dir=/Library/PostgreSQL8/lib (note: I did this blindly. It''s about my 6th try to get proper gems in place) I''m running Rails 2.3.8 and PostgreSQL 8.4.2 My .yml configuration is development: adapter: postgresql database: movies username: michael2 port: 5432 allow_concurrency: true encoding: SQL_ASCII When I try to do a test connect with rake db:migrate, I get the following: rake db:migrate --trace (in /oldhome/michael/projects/movies) ** Invoke db:migrate (first_time) ** Invoke environment (first_time) ** Execute environment rake aborted! syntax error on line 3, col 9: ` adapter: postgresql'' /usr/lib/ruby/1.8/yaml.rb:133:in `load'' /usr/lib/ruby/1.8/yaml.rb:133:in `load'' --------- Can anyone offer some help? Thanks much -- Posted via http://www.ruby-forum.com/. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
On Dec 17, 2010, at 9:02 AM, Michael Satterwhite wrote:> In the past, I''ve used mysql with rails without problem. I need to work > with postgresql, but I''m having trouble getting it working. I''ve seen > conflicting reports on what gems are needed. My latest install was > > sudo gem install postgres -- > --with-pgsql-include-dir=/Library/PostgreSQL8/include > --with-pgsql-lib-dir=/Library/PostgreSQL8/lib > > (note: I did this blindly. It''s about my 6th try to get proper gems in > place)Not your error, but for what it''s worth, I''m using the ''pg'' gem without any issues.> I''m running Rails 2.3.8 and PostgreSQL 8.4.2 > > My .yml configuration is > development: > adapter: postgresql > database: movies > username: michael2 > port: 5432 > allow_concurrency: true > encoding: SQL_ASCII > > When I try to do a test connect with rake db:migrate, I get the > following: > > rake db:migrate --trace > (in /oldhome/michael/projects/movies) > ** Invoke db:migrate (first_time) > ** Invoke environment (first_time) > ** Execute environment > rake aborted! > syntax error on line 3, col 9: ` adapter: postgresql'' > /usr/lib/ruby/1.8/yaml.rb:133:in `load'' > /usr/lib/ruby/1.8/yaml.rb:133:in `load'' > --------- > > Can anyone offer some help? Thanks muchRails is failing on a syntax error in your database.yml file. It has nothing to do with PostgreSQL at this point. My guess is that instead of two leading spaces on that line you''ve got a tab. Or some other unicode character pretending to be a space... Fix that and see what happens... -philp -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Philip Hallstrom wrote in post #969102:> Rails is failing on a syntax error in your database.yml file. It has > nothing to do with PostgreSQL at this point. > > My guess is that instead of two leading spaces on that line you''ve got a > tab. Or some other unicode character pretending to be a space... > > Fix that and see what happens... > > -philpThat certainly changed the result. Now it''s rake db:migrate --trace (in /oldhome/michael/projects/movies) ** Invoke db:migrate (first_time) ** Invoke environment (first_time) ** Execute environment ** Execute db:migrate rake aborted! uninitialized constant ActiveRecord::ConnectionAdapters::PostgreSQLAdapter::PGconn -- Posted via http://www.ruby-forum.com/. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
> >> Rails is failing on a syntax error in your database.yml file. It has >> nothing to do with PostgreSQL at this point. >> >> My guess is that instead of two leading spaces on that line you''ve got a >> tab. Or some other unicode character pretending to be a space... >> >> Fix that and see what happens... >> >> -philp > > That certainly changed the result. Now it''s > > rake db:migrate --trace > (in /oldhome/michael/projects/movies) > ** Invoke db:migrate (first_time) > ** Invoke environment (first_time) > ** Execute environment > ** Execute db:migrate > rake aborted! > uninitialized constant > ActiveRecord::ConnectionAdapters::PostgreSQLAdapter::PGconnTry the ''pg'' gem. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Philip Hallstrom wrote in post #969122:>> >> ActiveRecord::ConnectionAdapters::PostgreSQLAdapter::PGconn > Try the ''pg'' gem.I just installed it. Same result. I''m not sure my gem is installing correctly, though - or if there is something else needed. Note the following: irb(main):001:0> require ''pg'' => true irb(main):002:0> cn = PGconn.open(:dbname => ''movies'') NameError: uninitialized constant PGconn from (irb):2 I really do appreciate this help. -- Posted via http://www.ruby-forum.com/. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Michael Satterwhite wrote in post #969123:> Philip Hallstrom wrote in post #969122: >>> >>> ActiveRecord::ConnectionAdapters::PostgreSQLAdapter::PGconn >> Try the ''pg'' gem. > > I just installed it. Same result. > > I''m not sure my gem is installing correctly, though - or if there is > something else needed. Note the following: > > irb(main):001:0> require ''pg'' > => true > irb(main):002:0> cn = PGconn.open(:dbname => ''movies'') > NameError: uninitialized constant PGconn > from (irb):2That is strange. Maybe try to check which constants where added when you execute the "require ''pg''" command ? $ irb ruby-1.9.2-p0 > c = Object.constants ; nil #=> nil (remember constants) ruby-1.9.2-p0 > require ''pg'' #=> true ruby-1.9.2-p0 > Object.constants - c # which constants where added? => [:ConditionVariable, :Queue, :SizedQueue, :Etc, :RbConfig, :Config, :CROSS_COMPILING, :Date, :Pathname, :PGError, :PGconn, :PGresult] ruby-1.9.2-p0 > PGconn #=> PGconn (constant is defined ) ruby-1.9.2-p0 > cn = PGconn.open(:dbname => ''movies'') PGError: could not connect to server: No such file or directory ... HTH, Peter -- Posted via http://www.ruby-forum.com/. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Peter Vandenabeele wrote in post #969157:> That is strange. Maybe try to check which constants where added > when you execute the "require ''pg''" command ? > > $ irb > ruby-1.9.2-p0 > c = Object.constants ; nil #=> nil (remember constants) > ruby-1.9.2-p0 > require ''pg'' #=> true > ruby-1.9.2-p0 > Object.constants - c # which constants where added? > => [:ConditionVariable, :Queue, :SizedQueue, :Etc, :RbConfig, :Config, > :CROSS_COMPILING, :Date, :Pathname, :PGError, :PGconn, :PGresult] > ruby-1.9.2-p0 > PGconn #=> PGconn (constant is defined ) > ruby-1.9.2-p0 > cn = PGconn.open(:dbname => ''movies'') > PGError: could not connect to server: No such file or directory > ... > > HTH, > > PeterFirst, I like your way of checking the constants. Being dense, I did that manually when I had to - thanks much! Now, something is DEFINITELY wrong. Here is the result of my run: irb(main):001:0>c = Object.constants ---whole bunch of constants displayed --- irb(main):002:0> require ''pg'' => true irb(main):003:0> Object.constants - c => [] What in heaven''s name could cause this? ---Michael -- Posted via http://www.ruby-forum.com/. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Michael Satterwhite wrote in post #969166:> irb(main):001:0>c = Object.constants > ---whole bunch of constants displayed --- > irb(main):002:0> require ''pg'' > => true > irb(main):003:0> Object.constants - c > => [] > > What in heaven''s name could cause this? > > ---MichaelMore information: I just uninstalled gem ''pg''. I then executed the following: irb irb(main):001:0> require ''pg'' => true In other words, it is still finding ''pg'' after uninstalling the gem. That''s likely the problem. How can I find out where this is coming from so I can get rid of it and reinstall pg? As always, thanks to you experts. -- Posted via http://www.ruby-forum.com/. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Michael Satterwhite wrote in post #969123:> Philip Hallstrom wrote in post #969122: >>> >>> ActiveRecord::ConnectionAdapters::PostgreSQLAdapter::PGconn >> Try the ''pg'' gem. > > I just installed it. Same result. > > I''m not sure my gem is installing correctly, though - or if there is > something else needed. Note the following: > > irb(main):001:0> require ''pg'' > => true > irb(main):002:0> cn = PGconn.open(:dbname => ''movies'') > NameError: uninitialized constant PGconn > from (irb):2Actually ... are you using ruby 1.8.x ? Is that line irb(main):001> require ''pg'' really your first line in the irb session ? Should you not do require ''rubygems'' first ? (IIRC, required in 1.8.x but no longer in 1.9.x) My previous test was on ruby 1.9.2 and may have confused both of us (sorry for that ...). In ruby 1.8.7 (system ruby), I see this: peterv@ASUS:~$ rvm use Now using system ruby. # which 1.8.7.249-2 on Ubuntu 10.04 peterv@ASUS:~$ gem list | grep pg pg (0.10.0) peterv@ASUS:~$ irb irb(main):001:0> require ''pg'' # should NOT work yet LoadError: no such file to load -- pg from (irb):1:in `require'' from (irb):1 from :0 irb(main):002:0> require ''rubygems'' => true irb(main):003:0> require ''pg'' => true irb(main):004:0> Object.constants.grep(/PG/) => ["PGconn", "PGresult", "PGError"] HTH, Peter -- Posted via http://www.ruby-forum.com/. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Peter Vandenabeele wrote in post #969175:> Michael Satterwhite wrote in post #969123: >> Philip Hallstrom wrote in post #969122: >>>> >>>> ActiveRecord::ConnectionAdapters::PostgreSQLAdapter::PGconn >>> Try the ''pg'' gem. >> >> I just installed it. Same result. >> >> I''m not sure my gem is installing correctly, though - or if there is >> something else needed. Note the following: >> >> irb(main):001:0> require ''pg'' >> => true >> irb(main):002:0> cn = PGconn.open(:dbname => ''movies'') >> NameError: uninitialized constant PGconn >> from (irb):2 > > Actually ... are you using ruby 1.8.x ? > > Is that line > > irb(main):001> require ''pg'' > > really your first line in the irb session ? > > Should you not do > > require ''rubygems'' > > first ? (IIRC, required in 1.8.x but no longer in 1.9.x)I have the environment variable RUBYOPT=rubygems set. This causes 1.8.x to automatically set rubygems as in 1.9.x. -- Posted via http://www.ruby-forum.com/. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Michael Satterwhite wrote in post #969181:> Peter Vandenabeele wrote in post #969175: >> Michael Satterwhite wrote in post #969123:...>>> I just installed it. Same result. >>> >>> I''m not sure my gem is installing correctly, though - or if there is >>> something else needed. Note the following: >>> >>> irb(main):001:0> require ''pg'' >>> => true >>> irb(main):002:0> cn = PGconn.open(:dbname => ''movies'') >>> NameError: uninitialized constant PGconn >>> from (irb):2 >> >> Actually ... are you using ruby 1.8.x ? >> >> Is that line >> >> irb(main):001> require ''pg'' >> >> really your first line in the irb session ? >> >> Should you not do >> >> require ''rubygems'' >> >> first ? (IIRC, required in 1.8.x but no longer in 1.9.x) > > I have the environment variable > > RUBYOPT=rubygems > > set. This causes 1.8.x to automatically set rubygems as in 1.9.x.Ah, thanks for that info. It works that way here too. peterv@ASUS:~$ export RUBYOPT=rubygems peterv@ASUS:~$ echo $RUBYOPT rubygems peterv@ASUS:~$ irb irb(main):001:0> require ''pg'' => true irb(main):002:0> Object.constants.grep(/PG/) => ["PGconn", "PGresult", "PGError"] Peter -- Posted via http://www.ruby-forum.com/. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Peter Vandenabeele wrote in post #969183:> > Ah, thanks for that info. > It works that way here too. > > peterv@ASUS:~$ export RUBYOPT=rubygems > peterv@ASUS:~$ echo $RUBYOPT > rubygems > peterv@ASUS:~$ irb > irb(main):001:0> require ''pg'' > => true > irb(main):002:0> Object.constants.grep(/PG/) > => ["PGconn", "PGresult", "PGError"] >Actually, yours works much better ... mine isn''t working, remember. <g> Any idea of how I can find where that bogus ''pg'' is coming from? The gem isn''t installed anymore, but "require ''pg''" still returns true - loading no constants. -- Posted via http://www.ruby-forum.com/. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Michael Satterwhite wrote in post #969184:> Peter Vandenabeele wrote in post #969183: >> >> Ah, thanks for that info. >> It works that way here too. >> >> peterv@ASUS:~$ export RUBYOPT=rubygems >> peterv@ASUS:~$ echo $RUBYOPT >> rubygems >> peterv@ASUS:~$ irb >> irb(main):001:0> require ''pg'' >> => true >> irb(main):002:0> Object.constants.grep(/PG/) >> => ["PGconn", "PGresult", "PGError"] >> > > Actually, yours works much better ... mine isn''t working, remember. <g> > > Any idea of how I can find where that bogus ''pg'' is coming from? The gem > isn''t installed anymore, but "require ''pg''" still returns true - loading > no constants.Aha, this might hint where your seemingly succeeded require is getting its input ? After the require, the $LOAD_PATH has grown ! irb(main):004:0> puts $LOAD_PATH /usr/local/lib/site_ruby/1.8 /usr/local/lib/site_ruby/1.8/i486-linux /usr/local/lib/site_ruby/1.8/i386-linux /usr/local/lib/site_ruby /usr/lib/ruby/vendor_ruby/1.8 /usr/lib/ruby/vendor_ruby/1.8/i486-linux /usr/lib/ruby/vendor_ruby /usr/lib/ruby/1.8 /usr/lib/ruby/1.8/i486-linux /usr/lib/ruby/1.8/i386-linux . => nil irb(main):005:0> require ''pg'' => true irb(main):006:0> puts $LOAD_PATH /usr/lib/ruby/gems/1.8/gems/pg-0.10.0/bin /usr/lib/ruby/gems/1.8/gems/pg-0.10.0/lib /usr/lib/ruby/gems/1.8/gems/pg-0.10.0/ext /usr/local/lib/site_ruby/1.8 /usr/local/lib/site_ruby/1.8/i486-linux /usr/local/lib/site_ruby/1.8/i386-linux /usr/local/lib/site_ruby /usr/lib/ruby/vendor_ruby/1.8 /usr/lib/ruby/vendor_ruby/1.8/i486-linux /usr/lib/ruby/vendor_ruby /usr/lib/ruby/1.8 /usr/lib/ruby/1.8/i486-linux /usr/lib/ruby/1.8/i386-linux . => nil Also, I had ran those 2 on my machine here (from the root directory): peterv@ASUS:/$ find . -name ''pg.rb'' 2>/dev/null ./home/peterv/.rvm/gems/ruby-1.9.2-p0/gems/pg-0.10.0/lib/pg.rb ./usr/lib/ruby/gems/1.8/gems/pg-0.10.0/lib/pg.rb peterv@ASUS:/$ find . -name ''pg.so'' 2>/dev/null and that seems correct: * 1 time pg.rb in .rvm/gems for 1.9.2 (from the first example I showed) * 1 time pg.rb in /user/lib/gems/1.8 ... (system ruby) no files pg.so found. A long shot, but you could try that too and compare ... HTH, Peter -- Posted via http://www.ruby-forum.com/. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Peter Vandenabeele wrote in post #969187:> Michael Satterwhite wrote in post #969184: >> Peter Vandenabeele wrote in post #969183: >>> >>> Ah, thanks for that info. >>> It works that way here too. >>> >>> peterv@ASUS:~$ export RUBYOPT=rubygems >>> peterv@ASUS:~$ echo $RUBYOPT >>> rubygems >>> peterv@ASUS:~$ irb >>> irb(main):001:0> require ''pg'' >>> => true >>> irb(main):002:0> Object.constants.grep(/PG/) >>> => ["PGconn", "PGresult", "PGError"] >>> >> >> Actually, yours works much better ... mine isn''t working, remember. <g> >> >> Any idea of how I can find where that bogus ''pg'' is coming from? The gem >> isn''t installed anymore, but "require ''pg''" still returns true - loading >> no constants. > > Aha, this might hint where your seemingly > succeeded require is getting its input ? > After the require, the $LOAD_PATH has grown ! >THANK YOU, THANK YOU, THANK YOU!!!! This piece led me to a rogue gem that I''d installed when I was trying to get started. The require ''pg'' is now giving the proper results and the test rake db:migrate connects to the database. I *REALLY* appreciate this! ---Michael -- Posted via http://www.ruby-forum.com/. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.