sql >> Database teknologi >  >> RDS >> PostgreSQL

Jeg får en pg-fejl, når jeg prøver at ødelægge en controller

En af mine venner fik det samme problem, da jeg brugte Ruby 2.0 på Windows 7 med Postgres. Det opstår ikke kun, når man forsøger at ødelægge en controller, men for hver databasehandling (inklusive rake db:create). Problemet er, at filen pg_ext.so ikke er inkluderet til ruby ​​2.0. Det er inkluderet til 1.9, men blot at kopiere dette til 2.0 virker ikke. Jeg fandt dog en anden metode til at få den korrekte pg_ext.so. Ikke helt sikker på, hvorfor det virker, men det virker for ham. Her er hvad du skal gøre:

  1. Gå til den mappe, hvor 2.0/pg_ext.so (den fil, der ikke kunne findes) skal være placeret. I dit tilfælde C:/Users/rrw/.pik/rubies/Ruby-200-p0/lib/ruby/gems/2.0.0/gems/pg-0.14.1-x86-mingw32/lib/.
  2. Opret en mappe kaldet '2.0' (uden anførselstegn) her.
  3. I denne mappe skal du bruge den korrekte pg_ext.so-fil. Du kan få dette på følgende måde:
  4. Installer pg perlen manuelt ("gem install pg" i konsollen). Dette installerer ikke x86-mingw32-versionen af ​​perlen. Det løser ikke problemet, men det skaber den korrekte pg_ext.so. Jeg tror, ​​det er fordi det kompilerer pg-perlen til dit system, så for ruby ​​2.0. Du kan derefter bruge denne pg_ext.so fil med pg x86-mingw32 versionen. Du skal bruge DevKit for at kompilere og installere pg (http://rubyinstaller.org/add- ons/devkit/ ).
  5. Gå til placeringen af ​​pg_ext.so i mappen pg-0.14.1 gem. I dit tilfælde ville dette være C:/Users/rrw/.pik/rubies/Ruby-200-p0/lib/ruby/gems/2.0.0/gems/pg-0.14.1/lib.
  6. Kopiér filen pg_ext.so fra denne mappe til den nye mappe pg-0.14.1-x86-mingw32/lib/2.0/ i trin 2.
  7. Prøv nu dine kommandoer igen og kontroller, om alt fungerer. Hvis den ikke gør det, skal du slette din Gemfile.lock og køre bundleinstallationen igen.
  8. Det samme problem med denne ædelsten kan også forekomme med andre mingw32 ædelstene. IFor eksempel havde jeg det samme problem med bcrypt-rails perlen. At følge de samme trin som beskrevet ovenfor løste problemet. Jeg kører nu med succes Ruby 2.0 på Windows 7.

Ps. Hvis du har andre problemer med at køre pg gem på Windows 7 64 bit, så prøv at installere 32 bit x86 versionen af ​​Ruby (RubyInstaller) og postgresql. Sørg desuden for at inkludere Ruby-mapperne i din sti (dette er en mulighed, mens du installerer Ruby 2.0 ved hjælp af RubyInstaller) samt Postgresql lib- og bin-mapperne.

Held og lykke!




  1. Sådan gemmer du JSON-objekt i PostgreSQL ved hjælp af JSONB-datatypen inde i tabel og PostgreSQL JDBC-driver

  2. Hvilket er den bedste måde at tovejssynkronisere dynamiske data i realtid ved hjælp af mysql

  3. Valg af poster mellem to tidsstempler

  4. Hvordan kan jeg indtaste data med ikke-engelsk (Bangla) sprog i denne databasetabel?