UNITORO

PostgreSQLからMySQLへマイグレーション。そしてハマるw

2017-03-10

t9ef3y7NO_w7lodP.jpg

このREDPEPPERSは某高額専用サーバー(を間借りして)動かしてました。が、諸事情により低額共有サーバーに引越しすることに。低額ってもサーバー性能的にはかなり良いです。たまに一発目のレスポンスが遅い時がある感じだけど画像の送信とかはだいぶ速い!ちなみにHETEMLっていうレンタルサーバーです。

でREDPEPPERSは20年前から動いてるサイトなのでなんとなく当時の流れでDBはPostgresでした。けど、いつの間にやら世の中はMySQLな時代になってた。HETEMLもMySQLです。

サーバー移転は何度も行ってきたけどDBのマイグレーションは過去に1~2回しか経験なし。だって面倒なんだもん。

でも、そんなことも言ってられないので重い腰を上げて実行することに(-ω☆)

今後のマイ備忘メモ的にここに書いておきます。

まずはDB/テーブルのコピー

参考 PostgreSQLのデータをMySQLに移行する - Qiita

$ pg_dump --data-only --no-owner --no-privileges --disable-dollar-quoting DB名 > /var/tmp/ファイル名
$ pg_dump --schema-only --no-owner --no-privileges --disable-dollar-quoting DB名 > /var/tmp/ファイル名

参考ページのスクリプトは動かず(´・ω・`)

なのでスキーマのファイルを開いてphpMyAdminのSQLにコピペ生打ち。

データのコピーもphpMyAdminのインポート機能で。HTMLソースはタグのダブルクォーテーション周りでハマるので注意。EXCELのCSV書き出しで発狂しないように←

PHP周り pg_をmysql_に一発置換

1.Dreamweaverの置換機能でpg_をmysql_にサイトごと変換!

2.pg_exec($con,$sql)はハマる。pg_query($sql)に一発変換!

SQL周り Offsetでハマる

MySQLにはSQLのoffsetが存在しない

Postgres : offset 開始位置 limit 件数 → MySQL limit 件数,開始位置 になる

SQL周り 日付関数がまーまー違う

代表例 Postgres: date_part('Y',日付) → MySQL YEAR(日付)

「オレの釣り」とかでよく使うやつ

Postgres:select * from table where date >= date('$theday') - 379 and date(date) < date('$theday') - 351 

MySQL:select * from table where  date between (date('$theday') - interval 379 day) and (date('$theday') - interval 351 day)

日付まわりはPostgresもバージョンごとにだいぶ違う気がする。intervalを使ったこともあるな。

SQL周り MySQLはinsertに厳しい

insert valueに全カラム入れないとダメっぽい(""やnullで)。Postgresは10カラムあっても冒頭の1個だけあれば通る気がする。

なによりもphpMyAdminが神!

phpMyAdminは本当にすげーわぁ。めっちゃ親切。こんなユーザーに優しいシステムはちょっと見たことないくらい親切丁寧。アプリの鏡です。MySQLド素人のオレでもすごく簡単に使える。SSHのpsqlでコマンド入れるのアホらしくなるし、phpPgAdminの不親切さが腹立たしいw

その他・将来のオレへ

DBと関係ないけどサーバーが変わると各地で使うパスが変わりまくるので個々のスクリプト内にいちいち絶対パスを記入しないこと!同じくmysql_connectも。一つのconfigファイルに留めるべし。って頭ではわかっているけど面倒でついつい書いちゃうのよねぇ。そしてサーバー移転時に後悔するw

HETEMLで403エラーがよくでる

HETEMLのWAF(Webアプリケーションファイアウォール)をONにしてるとブログ書くプログラムでやたら403エラーが出る。この記事のように本文にSQL文書いたり、ツィッターをembedするとソースにscriptって入るからSQLインジェクションだのクロスサイトスクリプティングだのに引っかかるw

HETEML管理画面のWAFのログみて「.htaccessによる除外記述」をいちいち設定しないとダメ。これがけっこうメンドう・・・けどWAFのオフは怖い。

AD

AD

Recent entries

月額780円YouTubeプレミアムライトに加入した

日本人の9割が知らない本当の暗闇:ボートルスケール3の世界

宅トレの救世主? Apple Fitness+が日本上陸!エニタイム会員なら3ヶ月ごとの更新で無料という神特典

Xプレミアムが解約できない!カスタマーサポート不在で起きた問題と解決法

「LAWSON 50th Anniversary presents Special LIVE ~ 櫻坂46 / 日向坂46 ~」に行ってきた

Lanzhouからの刺客!11月半ばから急増した中国からのBotアクセスをブロックしたつもりが日本の一部も遮断!生成AIとBot対策の「ご利用は計画的に」

あすけん卒業。ChatGPTとGeminiを併用した「ダブルAI査定」で挑む、初老の再減量ログ。

レーザービームプリンターの怪奇現象?IT歴40年と最新AIが「もったいない」に敗北した日

釣りもアクセスも失ったオレが、30年目に思うこと

iOS 26のミュージックアプリが「余計なお世話」すぎる?新機能AutoMixの衝撃と対策

2026年の運、完全燃焼。有明アリーナ5列目とステージ上の「ジェンスン・フアン」

Geminiを使えばYouTube動画を再生しなくても動画の要点がわかってしまういい時代!

30年目のREDPEPEPRSをよろしくお願いします

坂道グループにはまった2025年、そして坂道に全く興味ないオジサンに向けた説明

雑居ビルで忘年会してたら火災報知器が鳴ったんだけど店側スタッフが全員外国人でびっくりした

スターな男#25 ふたご座流星群2025チャレンジ ー本格チャレンジでわかった流星群撮影のことー

Xアプリでうっかり動画再生すると次の見たくもない動画が勝手に再生するのを止める方法やSNSのアルゴリズムが変わった話

イタリアへ行ってきた話 ー最終話:小ネタ・書き忘れ補足ー

イタリアへ行ってきた話 ースーパー・ホームセンターなど編ー

イタリアへ行ってきた話 ーコーヒー編ー

Category

Archive

2026年02月 (1)2026年01月 (12)2025年12月 (15)2025年11月 (2)2025年10月 (3)2025年09月 (5)2025年08月 (3)2025年07月 (1)2025年06月 (7)2025年05月 (3)2025年04月 (3)2025年03月 (5)2025年02月 (2)2025年01月 (1)2024年12月 (6)2024年11月 (5)2024年10月 (7)2024年09月 (3)2024年08月 (5)2024年07月 (3)2024年06月 (8)2024年05月 (8)2024年04月 (6)2024年03月 (6)2024年02月 (8)2024年01月 (5)2023年12月 (8)2023年11月 (5)2023年10月 (11)2023年09月 (10)2023年08月 (6)2023年07月 (4)2023年06月 (12)2023年05月 (5)2023年04月 (10)2023年03月 (5)2023年02月 (10)2023年01月 (11)2022年12月 (5)2022年11月 (12)2022年10月 (11)2022年09月 (8)2022年08月 (10)2022年07月 (13)2022年06月 (5)2022年05月 (6)2022年04月 (16)2022年03月 (6)2022年02月 (6)2022年01月 (7)2021年12月 (7)2021年11月 (6)2021年10月 (15)2021年09月 (17)2021年08月 (13)2021年07月 (14)2021年06月 (12)2021年05月 (2)2021年04月 (26)2021年03月 (3)2021年02月 (3)2021年01月 (2)2020年12月 (5)2020年11月 (3)2020年10月 (6)2020年09月 (5)2020年08月 (18)2020年07月 (13)2020年06月 (8)2020年05月 (3)2020年04月 (11)2020年03月 (19)2020年02月 (18)2020年01月 (19)2019年12月 (7)2019年11月 (11)2019年10月 (14)2019年09月 (21)2019年08月 (14)2019年07月 (26)2019年06月 (7)2019年05月 (19)2019年04月 (23)2019年03月 (24)2019年02月 (22)2019年01月 (16)2018年12月 (17)2018年11月 (14)2018年10月 (30)2018年09月 (28)2018年08月 (22)2018年07月 (23)2018年06月 (11)2018年05月 (18)2018年04月 (27)2018年03月 (26)2018年02月 (26)2018年01月 (24)2017年3月 (10)2017年2月 (34)2017年1月 (50)2017年12月 (25)2017年11月 (29)2017年10月 (37)2017年09月 (62)2017年08月 (32)2017年07月 (79)2017年06月 (66)2017年05月 (41)2017年04月 (60)2017年03月 (23)2016年9月 (34)2016年8月 (32)2016年7月 (69)2016年6月 (54)2016年5月 (40)2016年4月 (52)2016年3月 (27)2016年2月 (16)2016年1月 (18)2016年12月 (27)2016年11月 (36)2016年10月 (33)2015年9月 (18)2015年8月 (16)2015年7月 (21)2015年6月 (39)2015年5月 (26)2015年4月 (30)2015年3月 (51)2015年2月 (40)2015年1月 (55)2015年12月 (17)2015年11月 (12)2015年10月 (19)2014年9月 (41)2014年8月 (19)2014年7月 (32)2014年6月 (37)2014年5月 (39)2014年4月 (31)2014年3月 (32)2014年2月 (43)2014年1月 (47)2014年12月 (29)2014年11月 (38)2014年10月 (30)2013年9月 (29)2013年8月 (39)2013年7月 (53)2013年6月 (39)2013年5月 (17)2013年4月 (28)2013年3月 (22)2013年2月 (22)2013年1月 (46)2013年12月 (24)2013年11月 (42)2013年10月 (41)2012年9月 (42)2012年8月 (30)2012年7月 (49)2012年6月 (24)2012年5月 (28)2012年4月 (48)2012年3月 (43)2012年2月 (40)2012年1月 (19)2012年12月 (33)2012年11月 (70)2012年10月 (57)2011年9月 (26)2011年8月 (40)2011年7月 (59)2011年6月 (27)2011年5月 (42)2011年4月 (53)2011年3月 (44)2011年2月 (37)2011年1月 (30)2011年12月 (40)2011年11月 (48)2011年10月 (44)2010年9月 (42)2010年8月 (53)2010年7月 (34)2010年6月 (38)2010年5月 (47)2010年4月 (42)2010年3月 (39)2010年2月 (30)2010年1月 (17)2010年12月 (45)2010年11月 (41)2010年10月 (37)2009年9月 (16)2009年8月 (24)2009年7月 (25)2009年6月 (16)2009年5月 (20)2009年4月 (16)2009年3月 (21)2009年2月 (21)2009年1月 (24)2009年12月 (25)2009年11月 (17)2009年10月 (17)2008年9月 (18)2008年8月 (24)2008年7月 (11)2008年6月 (16)2008年5月 (17)2008年4月 (13)2008年3月 (13)2008年2月 (30)2008年1月 (30)2008年12月 (29)2008年11月 (21)2008年10月 (12)2007年9月 (51)2007年8月 (45)2007年7月 (22)2007年6月 (8)2007年5月 (5)2007年4月 (12)2007年3月 (10)2007年2月 (19)2007年1月 (13)2007年12月 (29)2007年11月 (36)2007年10月 (38)2006年9月 (21)2006年8月 (6)2006年7月 (13)2006年6月 (15)2006年5月 (16)2006年3月 (19)2006年2月 (23)2006年1月 (29)2006年12月 (14)2006年11月 (14)2006年10月 (22)2005年9月 (21)2005年8月 (22)2005年7月 (17)2005年6月 (30)2005年5月 (20)2005年4月 (23)2005年3月 (34)2005年2月 (53)2005年1月 (63)2005年12月 (29)2005年11月 (29)2005年10月 (18)2004年12月 (58)More..