pgloader 3.4.1でMySQLからPostgreSQLへスマートに移行しよう(翻訳)

こんにちは、hachi8833です。今回はPostgreSQL向けの強力な移行ツールであるpgloader 3.4.1の紹介記事をお送りいたします。 pgloaderはHomebrewやappでビルドインストールしたりソースからビルドしたりできますが、できればライセンスを購入して作者のDimitri Fontaineを応援しましょう。 概要 原著者の許諾を得て翻訳・公開いたします。 元記事: from MySQL to PostgreSQL 元記事公開日: 2017/07/06 pgloader公式サイト: http://pgloader.io/ GitHubリポジトリ: dimitri/pgloader 原著者: Dimitri Fontaine: PostgreSQLのエキスパートであり、本記事のpgloaderの作者でもあります。 pgloader 3.4.1でMySQLからPostgreSQLへスマートに移行しよう(翻訳) 本日pgloader v3.4.1をリリースいたしました。GitHub commitでご覧いただけるとおり、v3.3.2から100件ものcommitが行われました。 今回リリースのpgloaderでは、シンプルにすることで使いやすさを向上させるという伝統に則っています。かのAlan Kayの有名な言葉になぞらえれば、「シンプルなものがシンプルであるべき」なら「複雑なことも可能になるべき」と信じています。 原注: 本記事ではpgloader 3.4.1の機能に言及していますので、pgloader –versionでご利用のバージョンをご確認ください。pgloaderはソースから容易にビルドでき、debianやRPMベースのディストリビューション向けにもパッケージ化されています。 現在ご利用のディストリビューションやPostgreSQLバージョンで利用可能な最新のパッケージオプションについては、http://wiki.postgresql.org/wiki/Aptやhttps://yum.postgresql.org/をご覧ください。 MySQLからPostgreSQLへの移行 pgloaderがいかにシンプルにできているかを示すひとつの例として、MySQLデータベースをまるごと移行する機能があります。テーブルのスキーマ定義、インデックス、主キー、外部キー制約、コメント、デフォルト値はもちろん、PostgreSQLにトリガをインストールする必要がある場合でも、以下のコマンド一発で完了します。 訳注: –dry-runオプションももちろんあります。 $ pgloader mysql://root@localhost/f1db pgsql:///f1db 2017-07-06T17:57:04.679000+02:00 LOG report summary reset table name read imported errors total time ————————- ——— ——— ——— ————– fetch meta data 33 33 0 0.206s Create Schemas 0 0 0 0.026s Create SQL Types 0 0 0 0.007s Create tables 26 26 0 0.057s Set Table OIDs 13 13 0 0.005s ————————- ——— ——— ——— ————– f1db.circuits 73 73 0 0.093s f1db.constructorresults 11011 11011 0 0.139s f1db.constructors 208 208 0 0.047s f1db.drivers 841 841 0 0.073s f1db.constructorstandings 11766 11766 0 0.237s f1db.laptimes 413578 413578 0 2.643s f1db.driverstandings 31420 31420 0 0.392s f1db.pitstops 5796 5796 0 0.132s f1db.races 976 976 0 0.076s f1db.seasons 68 68 0 0.053s f1db.qualifying 7257 7257 0 0.091s f1db.results 23514 23514 0 0.431s f1db.status 133 133 0 0.137s ————————- ——— ——— ——— ————– COPY Threads Completion 4 4 0 3.265s Create Indexes 20 20 0 1.760s Index … Continue reading pgloader 3.4.1でMySQLからPostgreSQLへスマートに移行しよう(翻訳)