WordPressその他技術系
更新日 : 2022年5月13日
投稿日 : 2017年7月28日

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

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

こんにちわ、PHPエンジニアのエンジニア婦人(@naho_osada)です。
私はPHPエンジニアとして8年~の経験があります。

データベース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へ移行する仕事があった場合の参考になりますように。

PR

※本サイトはアフィリエイトプログラムを利用して商品を紹介しています。