PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Podczas próby zniszczenia kontrolera pojawia się błąd pg

Mój przyjaciel miał ten sam problem podczas korzystania z Ruby 2.0 na Windows 7 z Postgresem. Występuje nie tylko przy próbie zniszczenia kontrolera, ale przy każdej akcji bazy danych (w tym rake db:create). Problem polega na tym, że plik pg_ext.so nie jest dołączony do ruby ​​2.0. Jest dołączony do wersji 1.9, ale zwykłe kopiowanie tego do wersji 2.0 nie wydaje się działać. Jednak znalazłem inną metodę uzyskania prawidłowego pg_ext.so. Nie jestem do końca pewien, dlaczego to działa, ale dla niego działa. Oto, co musisz zrobić:

  1. Przejdź do folderu, w którym powinien znajdować się plik 2.0/pg_ext.so (plik, którego nie można znaleźć). W Twoim przypadku C:/Users/rrw/.pik/rubies/Ruby-200-p0/lib/ruby/gems/2.0.0/gems/pg-0.14.1-x86-mingw32/lib/.
  2. Utwórz folder o nazwie „2.0” (bez cudzysłowów).
  3. W tym folderze będziesz potrzebować prawidłowego pliku pg_ext.so. Możesz to uzyskać w następujący sposób:
  4. Ręcznie zainstaluj pg gem ("gem zainstaluj pg" w konsoli). Instaluje to wersję gem inną niż x86-mingw32. Nie rozwiązuje problemu, ale tworzy poprawny plik pg_ext.so. Myślę, że to dlatego, że kompiluje gem pg dla twojego systemu, więc dla ruby ​​2.0. Następnie możesz użyć tego pliku pg_ext.so z wersją pg x86-mingw32. Będziesz potrzebować DevKit, aby skompilować i zainstalować pg (http://rubyinstaller.org/add- ons/devkit/ ).
  5. Przejdź do lokalizacji pg_ext.so w folderze gem pg-0.14.1. W twoim przypadku będzie to C:/Users/rrw/.pik/rubies/Ruby-200-p0/lib/ruby/gems/2.0.0/gems/pg-0.14.1/lib.
  6. Skopiuj plik pg_ext.so z tego folderu do nowego folderu pg-0.14.1-x86-mingw32/lib/2.0/ w kroku 2.
  7. Teraz ponów polecenia i sprawdź, czy wszystko działa. Jeśli tak się nie stanie, usuń plik Gemfile.lock i ponownie uruchom instalację pakietu.
  8. Ten sam problem z tym klejnotem może wystąpić również w przypadku innych klejnotów mingw32. Na przykład miałem ten sam problem z klejnotem bcrypt-rails. Wykonanie tych samych kroków, jak opisano powyżej, rozwiązało problem. Teraz z powodzeniem używam Ruby 2.0 w systemie Windows 7.

Ps. Jeśli masz inne problemy z uruchomieniem gem pg w 64-bitowym systemie Windows 7, spróbuj zainstalować 32-bitową wersję Rubiego x86 (RubyInstaller) i postgresql. Ponadto upewnij się, że zawierasz foldery Ruby w swojej ścieżce (jest to opcja podczas instalacji ruby ​​2.0 za pomocą RubyInstaller), a także foldery Postgresql lib i bin.

Powodzenia!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jaka jest reguła „nieznanego” i wnioskowania o typie?

  2. Dwie kolumny w podzapytaniu w klauzuli where

  3. Używanie puli połączeń PgBouncer dla PostgreSQL z ClusterControl 1.8.2

  4. Masowa aktualizacja połączonej tabeli za pomocą ActiveRecord update_all i Rails 4

  5. Optymalizacja zapytania licznika dla PostgreSQL