WordPressのデーターベースにPostgreSQLを使うプラグイン

WordPress2.0.x系のセキュリティ関係の更新が打ち切られたため、新しいバージョンに入れ替えなくてはならないのですが、最新のバージョンを入れるためには、MySQLのversion4.0以降が必要です。

ですが、サーバにインストールされているMySQLがVersion3.23.58と古いために、更新することが出来ませんでした。

しかし、PostgreSQL for WordPress (PG4WP)を使うことによって、更新することが出来ました。

現在のサーバのPostgreSQLのVersionは、7.4.14で、PHPのVesionは4.4.4です。

導入はreadmeやinstallationに書いている通りにフォルダに展開して、サーバにアップロードします。次に、通常通りPostgreSQLのDBを作成します。最後にブラウザ上から通常通り設定すればOKです。

しかしながら、Xreaの事情で、そのままではDBに繋がりません。これを回避するためには、

  • driver_pgsql.phpを開きます。
  • 92行目にあるhost=$bg_serverを削除します。(Version1.00の場合)

これでDBに繋がるはずです。これに気が付くまで結構時間がかかりました……。

ちなみに、他の選択肢としてSQLiteを使う方法もあるのですが、こちらはPHPのVersionが5以降でないといけないとのことなので、今回は無理と判断しました。

データベースの種類が違うことによって、バックアップがあるという気持ちもあり随分と楽に移行できました。

DBを変換している分?少し重いような気もしますが、セキュリティ的にまずそうな物を残すよりよっぽど良いので、PostgreSQLを使ったWordPressでいこうと思います。

参考記事

XREA 無料サーバーでのPostgreSQLへの接続について 解決 回答どおりにhostの指定せずに接続してみると、接続が成功した旨の値が返ってきました。

PGSQLへの接続失敗 – XREA&CORE SUPPORT BOARD: サーバー名:localhostは指定しないでください。

PDO (SQLite) For WordPress this plugin requires PHP 5.0 + as it uses PDO. There is no workaround.

WordPressの日本語URLエンコードの修正

wordpressのコメント(ディスカッション)を一度に変更する方法

この所スパムが多くていちいち削除するのが大変だったので、一旦コメント欄を閉鎖していました。

その際には記事一つ一つを手動で切り替えていたのですが、対策後、複数の記事を一括で変更できないものかと思っていたら、そのものズバリな記事がありました。

[ WordPress ] 過去ログのトラックバック・コメントを一括で許可する方法

早い話がphpMyAdminからSQLを直接叩いてしまえばOKということです。

なぜだか分かりませんが、うまく検索に引っかからなかったので、引用させていただきます。

すべての記事のコメントをON,OFF

// ONにする
UPDATE wp_posts SET comment_status='open';
// OFFにする
UPDATE wp_posts SET comment_status='closed';

すべての記事のトラックバックをON,OFF

// ONにする
UPDATE wp_posts SET ping_status='open';
// OFFにする
UPDATE wp_posts SET ping_status='closed';

本当に助かりました。この程度の記事数とはいえ手動でやるとなるとゾッとします。

wordpress移行

結局、サイトの管理ごとWordpressに移行することにしました。
工夫した点としては、home.phpを設置してPodcastのRSSを取ってきて一覧表示しています。また、記事も一覧表示しています。
テストする際に、/wp/にインストールしてしまったため、どうしようかと思っていましたがGiving WordPress Its Own Directory参考にエイリアスできました。
一応、一通りはテストして見たので、たぶん不具合は無いと思いますが何かありましたら気軽にお知らせください。

wordpress導入

Mixi日記その他を統合するためにどうしようかと画策して、一般のBlogサービスなども考えたのですが、結局Xreaの方に作ったほうが物がばらける事がないので良いだろうと思いこうしました。
導入はうまくいったのですが、RSSが自動広告のせいで1行目に空白が出来てしまい問題があって少し悩みましたが、WP: WordPress 2.3 の設置 1)新規インストール(XREA 無料サーバ)さんを参考に.htaccessを書いてみるとうまくいきました。後は手動で広告を挿入すれば良いので簡単でした。
以前導入したときは文字化けなどでちょっと使い物にならなかったんですが、ずいぶん進歩してよい感じです。ちょっと重いけどこれなら使っていけそうです。