INFORMATION_SCHEMA.COLUMNS
両方のデータベースでサポートされているテーブルを確認することで、列名相関テーブルを自動的に作成できます。
まず、MySQLに対してこれを実行します。
SELECT
column_name,
ordinal_position,
data_type
FROM information_schema.columns
WHERE table_schema = 'mysql_dbname'
AND table_name = 'mytable'
次に、PostgreSQLに対してほぼ同じクエリを実行します。
SELECT
column_name,
ordinal_position,
data_type
FROM information_schema.columns
WHERE table_schema = 'public'
AND table_name = 'mytable'
column_name
これで、ordinal_position
両側を見て、新しい列名と古い列名の間のマッピングテーブルを簡単に作成できます(Postgres名がプライマリであると想定しています)。テーブルごとに個別に実行することも、一度にすべて実行することもできます(table_name制約を削除するだけです)。
マッピングがわかった後、MySQLに対するSQLステートメントで列名を使用する必要がある場合は、このマップを介して列名を置き換える必要があります。