1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

俺でもわかるPostgreSQLからMySQLへの移行調査

Last updated at Posted at 2020-06-17

俺です。

Aurora PostgreSQLから Aurora MySQL5.7への移行は右から左に鼻ほじりながらスッとできるもんではありません
事前調査でいくつか調べることがあったので何調べてたかのメモを残します。

つまづいたところとかしばき倒しておきたいところ 読んだ記事 どうしたか
移行元と移行先のRDBMSバージョンチェック SELECT AURORA_VERSION() とかDMSのドキュメントとかAuroraのドキュメントとか PostgreSQLとして制限, MySQLの制限, Auroraの制限を確認する
移行元データ件数の確認 とくになし SnapshotからリストアしてSELECT COUNT(*)叩く.数千万件程度なら大したことないので鼻ほじる
移行対象テーブルの定義情報確認 なし \d table_name でcolumn, index, sequenceが関連付けられた列を確認する
timestamp [ with time zone ]型の扱い https://qiita.com/ykawakami/items/2449a24e3b82ff0cbab6 datetimeに切り替えていく
timestamp [ with time zone ]型の扱い https://www.postgresql.jp/document/9.6/html/datatype-datetime.html
PostgreSQLのシーケンス番号チェック http://php.o0o0.jp/article/postgres-sequence \d sequence_name でlast_valueをチェックする.ノーメンテで切り替えできるようにMAX + αでターゲットに定義しておく
行サイズ制限 https://dev.mysql.com/doc/refman/5.6/ja/innodb-restrictions.html 可変長を固定長にしてくのつらい. SELECT MAX(LENGTH(column)) FROM hogeと戦い
LOB型のチェック なし なかったので鼻ほじる.あったらLOB型の変換制約みる
PostgreSQL独自の型 なし なかったので鼻ほじる. あったら...
TriggerやView,Procedure, Functionオブジェクトの確認 なし なかったので鼻ほじる.あったら鼻ほじ貫通からの死

そしてこれは続きます。
ではまた!

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?