mt_dpcacheに関するエラー

H.FujimotoさんのPerl版ダイナミック・パブリッシング(MT4用)を利用した際にキャッシュを有効にしてページにアクセスをすると次のエラーが出力された。つまるところ、キャッシュが動いていない。

キャッシュの検索に失敗しました sql = select * from mt_dpcache where dpcache_uri・・・

まずはテーブルの中身を、と思いphpPgAdminにてDBを調べてみたところ、なんと「mt_dpcache」テーブルがない。インストール時に作られなかったのか、何らかのエラーにより消失したのかは不明だけれど、DBに登録がないことにはどうしようもない。

いろいろと調べた結果、「せんむの技術ブログ」さまの記事にてに該当テーブルを作成すると動くとの情報を見つける。そちらを参考にさせていただき、PostgreSQL用のSQLを実行してテーブルを作成したところ、無事に動くようになった。

実行したSQLは下記の通り。

CREATE TABLE mt_dpcache (
"dpcache_id" INTEGER NOT NULL PRIMARY KEY,
"dpcache_blog_id" INTEGER NOT NULL,
"dpcache_modified_on" timestamp without time zone NOT NULL,
"dpcache_pagefile" VARCHAR(20) NOT NULL,
"dpcache_pagesize" INTEGER NOT NULL,
"dpcache_uri" VARCHAR(255) NOT NULL
)

上記の問題とは直接の関係はないけれど、PostgreSQLのINTEGERには引数は必要ない(?)様子。しばらく悩みました。PostgreSQLを使うのは初めてで。。。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA