sql >> データベース >  >> RDS >> PostgreSQL

コントローラを破壊しようとするとpgエラーが発生します

    私の友人は、Postgresを搭載したWindows7でRuby2.0を使用したときに同じ問題を抱えていました。これは、コントローラーを破棄しようとしたときだけでなく、すべてのデータベースアクション(rake db:createを含む)に対して発生します。問題は、pg_ext.soファイルがruby2.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を手動でインストールします(コンソールでは「geminstallpg」)。これにより、x86-mingw32以外のバージョンのgemがインストールされます。問題は修正されませんが、正しいpg_ext.soが作成されます。これは、システム用にpg gemをコンパイルするためだと思います。つまり、ruby2.0の場合です。その後、このpg_ext.soファイルをpgx86-mingw32バージョンで使用できます。 pgをコンパイルしてインストールするにはDevKitが必要です( http://rubyinstaller.org/add- ons / devkit /
    5. pg-0.14.1gemフォルダー内のpg_ext.soの場所に移動します。あなたの場合、これはC:/Users/rrw/.pik/rubies/Ruby-200-p0/lib/ruby/gems/2.0.0/gems/pg-0.14.1/libになります。
    6. ファイルpg_ext.soをこのフォルダーから手順2で新しくpg-0.14.1-x86-mingw32/lib /2.0/フォルダーにコピーします。
    7. コマンドを再試行して、すべてが機能するかどうかを確認します。そうでない場合は、Gemfile.lockを削除して、バンドルインストールを再実行します。
    8. このgemで同じ問題が、他のmingw32gemでも発生する可能性があります。たとえば、bcrypt-railsgemでも同じ問題が発生しました。上記と同じ手順に従うと、問題が修正されました。現在、Windows7でRuby2.0を正常に実行しています。

    追伸Windows 764ビットでpggemを実行する際に他に問題がある場合は、32ビットx86バージョンのRuby(RubyInstaller)とpostgresqlをインストールしてみてください。さらに、パスにRubyフォルダー(これはRubyInstallerを使用してruby 2.0をインストールする際のオプションです)とPostgresqllibおよびbinフォルダーを含めるようにしてください。

    頑張ってください!




    1. 共有ホスティングでft_min_word_lenを変更できますか?

    2. ピボット関数またはユニオンを使用せずにテーブルをピボットするMySQLステートメント

    3. 複数列の整数の順序

    4. HashMapのMyBatisパラメーター