先日までMySQLでEC-CUBEサイトを構築中。

だったのだけれど、商品数1,000を越えたあたりでサイトが激重に。
調べたらMySQLでEC-CUBEつかうのはアレなんですね・・・。

EC-CUBEが使っているMySQL用のクエリがダメダメみたい。
一つ一つSQL文を書き直せばいいのだろうけれど、
そんなのあまりにムダな作業だ!!!

ってことで、PostgreSQLに変更し、
EC-CUBEを意気揚々と再インストールっ♪

でも、接続できないみたいなことを言ってくる?

はぁ?


MySQLにイージーさに慣れすぎて色々忘れてた。
ポスグレってpostgresql.confとpg_hba.confの設定が必須だっけ?
でググったらありましたよ。

http://www.dotconf.com/modules/dev/content0001.html

弊社はクララオンラインさんのPlesk導入サーバーを愛用させてもらっていますが、こちらの記事も同様のサーバー構成(OSは違いますが)のようですから、このままやれば良いだろうーーー。という希望的観測で今日はここまで。眠い。なんか頭イタイ。深夜0時。

ネタ元の記事の方。多謝です。

成功後、この記事に追記します。

【追記&結論】

あれこれ設定を変えてもうまくいかない(>_<)
と12時間近く悩んだあと発見。

クララオンラインのサーバーでPHP→ポスグレ接続するときは、
ホスト名を指定すると接続できません(>_<)

で、EC-CUBEのデータベース接続はどうなってるかと言うと、
PEAR_DBを使ってポスグレやらMySQLに接続をしてますが、
デフォルトの接続文字列が、

pgsql://username:password@hostname:port/dbname

という書式が使われています。ホスト名が見事に設定されています。
ってことで、これを

pgsql://username:password@unix()/dbname

となるように、install.phpとSC_Initial.phpを変更すると接続できるようになりました。
install.phpの方は書き換えなければならない箇所が複数あるので、
見落とさないように注意。

なぜ、このようにしなければならないのか・・・。
まさかこんなところで丸半日悩むとは思いもよりませんでした。