私は単にDrupal 7.8をPostGreSQL 9.1にインストールし、DBをバックアップしてから、そこから復元しようとしています...私のサイトのバックアップをテストするだけですが、サイトは戻らないで!
これが私のステップです:
その間に手順はありません(サイトをメンテナンスモードにしてキャッシュをクリアしてエラーを回避しようとした場合を除く)。コンテンツを追加する必要はありません。
しかし、自分のサイトにアクセスすると、次のエラーメッセージが表示されます。
[22-Nov-2011 17:07:44] PHP Notice: unserialize() [<a href='function.unserialize'>function.unserialize</a>]: Error at offset 0 of 1009 bytes in /Applications/MAMP/htdocs/drupal-postgres/includes/cache.inc on line 405
[22-Nov-2011 17:07:44] PHP Notice: unserialize() [<a href='function.unserialize'>function.unserialize</a>]: Error at offset 0 of 38585 bytes in /Applications/MAMP/htdocs/drupal-postgres/includes/cache.inc on line 405
[22-Nov-2011 17:07:44] PHP Warning: Invalid argument supplied for foreach() in /Applications/MAMP/htdocs/drupal-postgres/includes/module.inc on line 185
[22-Nov-2011 17:07:44] PHP Warning: array_keys() expects parameter 1 to be array, null given in /Applications/MAMP/htdocs/drupal-postgres/includes/module.inc on line 89
[22-Nov-2011 17:07:44] PHP Notice: unserialize() [<a href='function.unserialize'>function.unserialize</a>]: Error at offset 0 of 38585 bytes in /Applications/MAMP/htdocs/drupal-postgres/includes/cache.inc on line 405
[22-Nov-2011 17:07:44] PHP Warning: Invalid argument supplied for foreach() in /Applications/MAMP/htdocs/drupal-postgres/includes/module.inc on line 185
[22-Nov-2011 17:07:44] PHP Warning: array_keys() expects parameter 1 to be array, null given in /Applications/MAMP/htdocs/drupal-postgres/includes/module.inc on line 89
[22-Nov-2011 17:07:44] PHP Fatal error: Call to undefined function system_run_automated_cron() in /Applications/MAMP/htdocs/drupal-postgres/includes/common.inc on line 2573
誰もが何か考えを持っていますか?これは難しいことではありません!
どうもありがとう!
これをたくさん調べた後、私はDBをMySQLに移動することを決定しました。私はそれをしなければならないのが嫌いでしたが、drushでのsql-dumpのサポートはMySQLに限定されており、バックアップと移行も同様です。 2台のDBサーバーを実行する必要があるために私を殺します(他のすべてのアプリケーションはPostGresを使用します)。
これらのモジュールがPostGresをサポートすることをいつか望みます。 Drupalは両方をサポートしているため、モジュールも同様です。
バックアップと移行および バックアップと移行ファイル を使用する際の注意事項
これを確認してください: http://drupal.org/node/926636
別のサーバーに移行したり、postgres 8.4から9.0にアップグレードしたりしても、ほぼ同じエラーが発生します。これまでのところ、byteaの設定を変更するだけで十分です。
ここでは暗闇で撮影しましたが、別の方法でバックアップを取ります。次の2つのオプションがあります。
1つは バックアップと移行 モジュールに対するものです。テーブルがロックされ、バックアップ中にメンテナンスモードに移行するようにプロファイルを設定して、整合性を確保します。また、キャッシュテーブルからすべてのコンテンツを除外します。その間に、バックアップスケジュールを設定します。
もう1つは drush を使用することで、これはsql-dumpコマンドです。 作成者は言及しています バックアップを確実にするために適切なオプションが使用されていること、およびテーブルの内容を除外することもできます。
バックアップファイルを復元して、手動でTRUNCATE TABLE
またはDELETE FROM
すべてのキャッシュテーブル。
バックアップを作成するたびにテーブルを変更する必要がないように、postgresql.confの設定を変更することもできます
bytea_output = 'escape'#hex、escape