メインコンテンツに移動
mattz.xii.jp

Main navigation

  • Home
User account menu
  • ログイン

パンくず

  1. ホーム

PostgreSQL 9でDrupal 6が動かない件

By mattz, 2012/10/19

新しくDrupalのサイトを構築するにあたって、あまり深く考えずにPostgreSQLの9を選んでしまった(なんでMySQLじゃないのかとかいうのには諸般の事情とお答えしておきます)のですが、動かない。

最初はさっぱり原因が分からなくて途方に暮れていたのですが、調べていくうちに大体原因がつかめた。

Drupalは色々なキャッシュデータをserializeしてbytea型のカラムに格納して保持しています。PostgreSQLの8までは、bytea型のカラムに値を格納するときはエスケープクォートして格納という形だったのが、9からはhexに変換して格納するという形にデフォルトの形式が変わりました。

これによって、chacheテーブルから取り出した値をunserializeできないというエラーになっていました。

bytea型に格納する形式を、旧来と同様な'escape'形式に変更するというのもできないことはない(ALTER DATABASE database_name SET bytea_output = 'escape')ようなのですが、他にもこのようなハマリポイントがあると厄介ですし、そのたびに検証して対策するという時間も取れそうにないので、結局のところPostgreSQLのバージョンを(実績のある)8系にすることにしました。

ちなみにDrupal 7では、この問題には対応済みのようです。

タグ

  • Drupal
前のエントリー次のエントリー

最近のエントリー

  • 2025シーズン セ・パ12球団の総移動距離
  • 2023年度 パシフィック・リーグ主催試合ヒーローインタビューランキング
  • 2024シーズン セ・パ12球団の総移動距離
  • 当サイトのDrupalが10になりました
  • E-Vinoを買ってみました
  • 2023シーズン セ・パ12球団の総移動距離
  • 俺は野球殿堂博物館を甘く見ていた
  • 2022シーズン セ・パ12球団の総移動距離
  • Drupalを9にあげてみました
  • 2021シーズン セ・パ12球団の総移動距離
RSS feed