WordPressその他技術系
更新日 : 2020年9月1日
投稿日 : 2017年7月28日

WordPressをPostgresからMySQLへ変更する方法

WordPressをPostgresからMySQLへ変更する方法の画像

こんにちわ、PHPエンジニアのエンジニア婦人(@naho_osada)です。
私はPHPエンジニアとして7年~の経験があります。WordPressは2年半~の経験があります。その他、jQuery、HTML、CSSも使用します。
ここでは主に過去に納品した案件や自サイト運営(エンジニア婦人ノート)で遭遇したことについて書いています。

データベースPostgres、Wordpress3系で更新が止まっていたサイトをバージョンアップするお仕事を経験したことがあります。

今は殆どがMySQLだと思いますが、以前はPostgresで制作する場合も多かったようです。

今回はそのときに行った作業手順を残しておこうと思います。

移行作業手順

操作前には必ずすべてのバックアップを取ってください。


  1. Postgresデータベースから、データと構造SQLエクスポート(COPYじゃない)
  2. INSERT文だけ残して後は削除して更新用SQLファイルを作成する
  3. MySQLの移行先のデータベースを用意(テーブルは作らなくていい)
  4. 元のWordPressのインストールディレクトリをまるっとコピーしてあげなおす
  5. コピーしたディレクトリの方のwp-configs.phpを削除
  6. コピーしたディレクトリの方の/wp-content/db.phpを削除(Postgres使うためのものなので不要)
  7. コピーしたディレクトリの方の/wp-content/pg4wpを削除(Postgres使うためのものなので不要)
  8. アクセスしてWordPressのインストール開始、テーブルが作成される
  9. WordPressがとりあえずインストールできたらMySQLの指定データベースに作成されたテーブルを「すべて空にする」(削除ではない)
  10. 空にしたらPostgresでエクスポートしてきた「INSERT」の内容をMySQLにインポート
  11. WordPressにアクセスしてログインできることを確認
  12. WordPressの更新機能を使って一気に更新!バージョン最新へ!
  13. そうするとアクセスできなくなる(笑)から、/wp-adminにアクセスし直す。そうするとデータベースの更新をするよ!っていうボタンが出るので更新
  14. データベースの更新が終わるとWordPressに無事にアクセスできるようになる
  15. 必要なプラグインの更新をしてサイト内を確認
  16. 問題がなければ更新完了!おめでとう!

放置しておいた弊害

これ、ちゃんとやっておかないと有名な、というか公式のSearch DBすら使えません。
つまりドメイン変更があった場合はバージョンが古い&Postgresだと詰むということか!?なんて非道な!?

WordPressの古いものはそのまま放置しない方が良いと思いますよ…いくらなんでも!

4.8(※執筆当時)まで来てるのに3.0系って!!

そもそもなぜPostgresで構築されていたのか

以前から、WordPressはPostgresでも構築はできました(※但し私は構築したことはありません。過去の遺物を見てきただけです)。

ですが、PostgresはWordPressの更新のサポート外なんですね。うまくいきませんでした。
それもそうか、MySqlとPostgresはSQLや構造が違うのだから、両方用意するのは割に合わないですね。メジャーな方に合わせると思います。

このサイトに関しては、もう、WordPress本体の更新もできないしセキュリティ的に放置しておかないで、古いから…というレベルでした。
お金ないから仕方ない、気にしていないから放置だったのかな…昨今のセキュリティ事情もありますので、古いバージョンのまま据え置くのはやめていただきたいところです。

悪い奴らにいいように使われてしまうかもしれませんから。

まとめ

  • WordPressでPostgresを使って構築している案件は存在する
  • 但し存在するのは相当古いもので、現在はほとんどないと推測される
  • もし遭遇してそれをバージョンアップする場合は、上記の手順を参考に行うといい

何事もバージョンアップは随時行いましょう。

WordPress案件をPostgresからMySQLへ移行する仕事があった場合の参考になりますように。