PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Получавам pg грешка, когато се опитвам да унищожа контролер

Един мой приятел получи същия проблем при използване на Ruby 2.0 на Windows 7 с Postgres. Това се случва не само когато се опитвате да унищожите контролер, но и за всяко действие на базата данни (включително rake db:create). Проблемът е, че файлът pg_ext.so не е включен за ruby ​​2.0. Включено е за 1.9, но простото копиране на това в 2.0 не изглежда работа. Въпреки това намерих друг метод за получаване на правилния pg_ext.so. Не знам точно защо това работи, но работи за него. Ето какво трябва да направите:

  1. Отидете до папката, където трябва да се намира 2.0/pg_ext.so (файлът, който не може да бъде намерен). Във вашия случай C:/Users/rrw/.pik/rubies/Ruby-200-p0/lib/ruby/gems/2.0.0/gems/pg-0.14.1-x86-mingw32/lib/.
  2. Създайте тук папка с име „2.0“ (без кавичките).
  3. В тази папка ще ви трябва правилният файл pg_ext.so. Можете да го получите по следния начин:
  4. Ръчно инсталирайте pg gem ("gem install pg" в конзолата). Това инсталира не x86-mingw32 версията на gem. Това не решава проблема, но създава правилния pg_ext.so. Мисля, че това е така, защото компилира pg gem за вашата система, така че за ruby ​​2.0. След това можете да използвате този файл pg_ext.so с версията pg x86-mingw32. Ще ви трябва DevKit, за да компилирате и инсталирате pg (http://rubyinstaller.org/add- ons/devkit/ ).
  5. Отидете до местоположението на pg_ext.so в папката pg-0.14.1 gem. Във вашия случай това ще бъде C:/Users/rrw/.pik/rubies/Ruby-200-p0/lib/ruby/gems/2.0.0/gems/pg-0.14.1/lib.
  6. Копирайте файла pg_ext.so от тази папка в новата папка pg-0.14.1-x86-mingw32/lib/2.0/ в стъпка 2.
  7. Сега опитайте отново вашите команди и проверете дали всичко работи. Ако не стане, изтрийте вашия Gemfile.lock и стартирайте отново пакетната инсталация.
  8. Същият проблем с този скъпоценен камък може да възникне и с други скъпоценни камъни mingw32. Например, имах същия проблем с bcrypt-rails gem. Следвайки същите стъпки, както е описано по-горе, проблемът беше решен. Вече успешно изпълнявам Ruby 2.0 на Windows 7.

Пс. Ако имате някакви други проблеми при стартирането на pg gem на Windows 7 64 бита, тогава опитайте да инсталирате 32 битовата x86 версия на Ruby (RubyInstaller) и postgresql. Освен това се уверете, че сте включили папките Ruby във вашия път (това е опция, докато инсталирате ruby ​​2.0 с помощта на RubyInstaller), както и папките Postgresql lib и bin.

Успех!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Общо... с обрат

  2. Извличане на стойност на xml таг в PostgreSQL

  3. Конфигурирайте отдалечена връзка на RubyMine към Heroku PostgreSQL

  4. Как да видите кода CREATE VIEW за изглед в PostgreSQL?

  5. има ли начин да се избегне извикването на nextval(), ако вмъкването е неуспешно в PostgreSQL?